You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(proxy): single active session for remote_ssh (Cursor dual TCP)
cppdbg can open two connections to the listen port; each spawned a full
SSH/gdbserver backend and broke the session. Gate remote_ssh to one client
at a time; document in board_test_app README.
Made-with: Cursor
Copy file name to clipboardExpand all lines: examples/board_test_app/README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -123,6 +123,8 @@ Use the **repository root** as the workspace folder so `${workspaceFolder}` reso
123
123
**`Connection reset by peer` / `Unexpected GDB output` on `-target-select`:**
124
124
The first debug session runs **`scp` + `ssh` + `gdbserver`** on the board; that can take **tens of seconds**. GDB’s default **remote timeout** is short, so it may close the connection before rsgdb finishes. [`.vscode/launch.json`](../../.vscode/launch.json) sets **`miDebuggerArgs`** to **`set remotetimeout 120`**, and [`rsgdb.remote.toml`](rsgdb.remote.toml) raises **`ready_timeout_secs`**. If it still fails, confirm the board is reachable (**`ping`**, **`ssh user@host`**, **`scp`**), read **`/tmp/rsgdb-cursor-3333.log`**, and run **`RUST_LOG=info ./target/release/rsgdb --config …`** in a terminal to see rsgdb errors (failed **scp**/SSH/TCP to gdbserver closes the proxy side and shows up as reset in the IDE).
125
125
126
+
Some IDEs open **two TCP connections** to the proxy; **`transport = remote_ssh`** must only run **one** scp/ssh/gdbserver chain. Current **rsgdb** rejects a second client while a session is active (see log: `rejecting GDB client: transport=remote_ssh already has an active session`).
0 commit comments