远程GDB会话“命令已中止”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了远程GDB会话“命令已中止”相关的知识,希望对你有一定的参考价值。
我正在使用VSCode,为RPi编写代码。我几乎已经将它设置为使用集成调试器,但是,我遇到了GDB说Command Aborted
的问题
这是VSCode中调试窗口的输出
<License and whatnot from GDB>
=cmd-param-changed,param="pagination",value="off"
Reading /lib/ld-linux.so.3 from remote target...
Reading /lib/ld-linux.so.3 from remote target...
Reading /lib/f72fb00897d4f06093d6f0451c9ca7d1f6e14c.debug from remote target...
Reading /lib/.debug/f72fb00897d4f06093d6f0451c9ca7d1f6e14c.debug from remote target...
0x76fce9e0 in ?? () from target:/lib/ld-linux.so.3
Loaded 'target:/lib/ld-linux.so.3'. Symbols loaded.
ERROR: Command aborted.
这是我用来在RPi上设置gdbserver的脚本(为了保护我的隐私而排除了变量名称)。
ssh
-L$port:localhost:$port $user@$remote
"zsh -l -c './kill-gdbserver.sh && cd msat-pi* && ./waf && gdbserver :$port ./build/examples/onewire/onewire'"
以及我launch.json
的相关配置
{
"name": "1w-Remote",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/build/examples/onewire/onewire",
"miDebuggerServerAddress": "localhost:8081",
"targetArchitecture": "arm",
"args": [],
"miDebuggerPath": "/usr/bin/gdb-arm",
"preLaunchTask": "waf-build",
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": true,
"linux": {
"MIMode": "gdb"
},
"osx": {
"MIMode": "gdb"
},
"windows": {
"MIMode": "gdb"
}
}
如果我在本地手动设置GDB,我得到相同的输出,除了没有Command Aborted
消息。我可以然后continue
,它按照我的预期行事(我的程序在未处理的异常中崩溃)。
有什么方法可以避免这个Command Aborted
问题,或者我应该在VSCode git上打开一个问题?
谢谢
答案
您编译了程序而没有调试信息。使用-g编译器和链接器选项编译它。
以上是关于远程GDB会话“命令已中止”的主要内容,如果未能解决你的问题,请参考以下文章