在 Linux 下进行 C++ 远程调试,常见且成熟的方案有几种,下面按最常用 → 进阶给你系统说明,并附具体配置示例。
sudo apt install gdbserver # Ubuntu / Debian
g++ -g -O0 main.cpp -o main
gdbserver :1234 ./main
或附加到已运行进程:
gdbserver :1234 --attach <pid>
gdb ./main
(gdb) target remote <remote_ip>:1234
launch.json
{
"name": "Remote GDB",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/main",
"miDebuggerServerAddress": "remote_ip:1234",
"linux": {
"MIMode": "gdb"
}
}
⚠️ 本地
main必须与远程二进制完全一致
Settings → Build → ToolchainsRun → Edit Configurationstarget remote args: tcp:remote_ip:1234docker run -p 1234:1234 -v $(pwd):/app image
容器内:
gdbserver :1234 ./app
本地直接连 localhost:1234
sudo ufw allow 1234
sudoptrace 权限| 方案 | 特点 |
|---|---|
| rr | 可逆调试 |
| lldb-server | macOS / LLVM |
| Telemetry | 生产环境 |
你可以告诉我:
我可以直接给你 可复制的完整配置