Skip to content

Commit bbbe4b5

Browse files
author
Alex J Lennon
committed
chore: doc alignment, crate description, remove template comments
- README: honest tagline; Phase A wording; mark core items as shipped - lib.rs + Cargo.toml: match actual capabilities - Strip 'Made with Bob' from Rust sources and CI workflow Made-with: Cursor
1 parent d9d6569 commit bbbe4b5

14 files changed

Lines changed: 12 additions & 36 deletions

File tree

.github/workflows/ci.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,5 +151,3 @@ jobs:
151151
name: rsgdb-${{ matrix.os }}
152152
path: |
153153
target/release/rsgdb${{ matrix.os == 'windows-latest' && '.exe' || '' }}
154-
155-
# Made with Bob

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "rsgdb"
33
version = "0.1.0"
44
edition = "2021"
55
authors = ["Dynamic Devices Ltd"]
6-
description = "An enhanced GDB server/proxy with advanced debugging features for embedded development"
6+
description = "GDB RSP TCP proxy with logging, SVD labels, JSONL record/replay, and RTOS decode helpers"
77
repository = "https://github.com/DynamicDevices/rsgdb"
88
license = "MIT OR Apache-2.0"
99
keywords = ["gdb", "debugger", "embedded", "proxy", "rsp"]

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[![License](https://img.shields.io/badge/license-MIT%2FApache--2.0-blue.svg)](LICENSE)
66
[![Crates.io](https://img.shields.io/crates/v/rsgdb.svg)](https://crates.io/crates/rsgdb)
77

8-
A modern, feature-rich GDB server/proxy written in Rust, designed to enhance embedded debugging workflows with advanced logging, state inspection, and breakpoint management capabilities.
8+
A Rust GDB **RSP proxy** with structured logging, optional CMSIS-SVD memory labels, JSONL session recording/replay, RTOS packet decode logs, and external flash orchestration — with room to grow into richer breakpoints and UIs.
99

1010
## 🎯 Project Goals
1111

@@ -21,17 +21,17 @@ A modern, feature-rich GDB server/proxy written in Rust, designed to enhance emb
2121
## ✨ Key Features
2222

2323
### Current (v0.1.0 - In Development)
24-
- 🚧 GDB Remote Serial Protocol (RSP) parser
25-
- 🚧 Basic proxy/pass-through mode
26-
- 🚧 Structured logging infrastructure
27-
- 🚧 Configuration system
24+
- GDB Remote Serial Protocol (RSP) codec + command parse (see `tests/rsp_codec_matrix.rs`)
25+
- ✅ Transparent TCP proxy (integration tests; forwards RSP bytes)
26+
- Structured logging (`tracing`, config-driven)
27+
- ✅ TOML + env configuration
2828
- 💾 **Session recording (rsgdb-record v1)** — ordered RSP trace as JSON Lines (`.jsonl`)
2929
- ▶️ **`rsgdb replay`** — load a recording and serve a **mock TCP backend** for one client (order-preserving playback / tests)
3030
- 📝 **SVD annotation (read-only)** — CMSIS-SVD → log labels for memory RSP (`m` / `M`): `Peripheral.REGISTER`, overlapping **fields**, and enumerated **variant names** where present (`target: rsgdb::svd`, debug)
3131
-**`rsgdb flash`** — run a configured external flash tool (`[flash].program` with `{image}` substitution; OpenOCD/probe-rs/etc.)
3232
- 🧵 **RTOS RSP decode / log (Zephyr-first)** — thread-extension packets are decoded and logged at `target: rsgdb::rtos` (debug). Thread *data* comes from your stub (e.g. OpenOCD **Zephyr** RTOS awareness); other RTOSes use the same GDB RSP when the stub implements them (see below).
3333
- 🧪 **CI + local E2E smoke**`gdbserver``rsgdb``gdb` (batch), `scripts/e2e_gdb_smoke.sh` (Ubuntu job in **CI** workflow). **Zephyr `native_sim`** E2E (`scripts/e2e_zephyr_native_sim.sh`) runs in the **Zephyr E2E** workflow when those scripts/app change, on `main`/`develop`, weekly, or manually. See [CONTRIBUTING.md](CONTRIBUTING.md).
34-
-**Phase A (trust path)** — RSP codec matrix tests (`tests/rsp_codec_matrix.rs`, `scripts/e2e_rsp_regression.sh`), proxy TCP tests, ops matrix in README above.
34+
-**Phase A (trust path)** — RSP codec matrix tests (`tests/rsp_codec_matrix.rs`, `scripts/e2e_rsp_regression.sh`), proxy TCP integration tests (`tests/proxy_integration.rs`).
3535
- 📎 **Phase B (GDB productivity)**[`scripts/gdbinit.rsgdb.example`](scripts/gdbinit.rsgdb.example), `qSupported`-style proxy test, backend thread-reply summaries in `rsgdb::rtos` (decode/log only).
3636

3737
### Planned

src/breakpoints/mod.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,3 @@ mod tests {
5454
assert_eq!(bp.address, 0x8000);
5555
}
5656
}
57-
58-
// Made with Bob

src/config.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -471,5 +471,3 @@ mod tests {
471471
assert_eq!(config.logging.level, "debug");
472472
}
473473
}
474-
475-
// Made with Bob

src/error.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,5 +77,3 @@ pub type Result<T> = std::result::Result<T, RsgdbError>;
7777

7878
/// Result type alias for configuration operations
7979
pub type ConfigResult<T> = std::result::Result<T, ConfigError>;
80-
81-
// Made with Bob

src/lib.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
//!
55
//! ## Features
66
//!
7-
//! - **Enhanced Logging**: Comprehensive protocol traffic logging with structured output
8-
//! - **Advanced Breakpoints**: Named, conditional, and grouped breakpoint management
9-
//! - **State Tracking**: Memory snapshots, register tracking, and peripheral decoding
10-
//! - **Session Recording**: Record and replay debugging sessions
11-
//! - **Backend Flexibility**: Support for multiple debug probes
7+
//! - **Logging**: Protocol traffic and optional SVD/RTOS decode logs (`tracing`)
8+
//! - **Proxy**: TCP RSP forward between GDB and a stub (OpenOCD, probe-rs, etc.)
9+
//! - **Recording / replay**: JSONL session capture and `replay` mock backend
10+
//! - **SVD**: Read-only peripheral/register (and field) labels for memory packets in logs
11+
//! - **Breakpoints / state / UI**: Lightweight modules and config for future work; proxy does not rewrite breakpoint RSP yet
1212
//!
1313
//! ## Example
1414
//!
@@ -55,5 +55,3 @@ mod tests {
5555
assert_eq!(VERSION, env!("CARGO_PKG_VERSION"));
5656
}
5757
}
58-
59-
// Made with Bob

src/logger/mod.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,3 @@ impl Default for LoggerConfig {
2424
}
2525
}
2626
}
27-
28-
// Made with Bob

src/protocol/codec.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,5 +206,3 @@ mod tests {
206206
assert_eq!(&buf[..], b"+");
207207
}
208208
}
209-
210-
// Made with Bob

src/protocol/commands.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -453,5 +453,3 @@ mod tests {
453453
}
454454
}
455455
}
456-
457-
// Made with Bob

0 commit comments

Comments
 (0)