如何暂停连接到远程目标gdbserver的gdb

时间:2017-02-23 15:59:53

标签: linux debugging gdb gdbserver

通过以下方式连接到远程gdbserver之后:

target remote server:8888 

target extended-remote server:8888

继续使用CTRL + c后,无法暂停调试器。 在同一个PID上的本地gdb会话中执行相同操作。尝试调试附加到其他进程(例如vim)的远程gdbserver,例如CTRL + c也可以。

我尝试了不同的组合,比如

handle SIGINT stop noprint nopass

但它没有帮助。

暂停调试器的唯一方法是

kill -SIGTRAP $(pgrep -f my_app)

在远程主机上。

$ gdb
target extended-remote localhost:8888
Remote debugging using localhost:8888
Reading /lib64/libdl.so.2 from remote target...
Reading /lib64/libSegFault.so from remote target...
...
Reading /lib64/ld-linux-x86-64.so.2 from remote target...
0x00007f6b26857923 in __select_nocancel () from target:/lib64/libc.so.6
(gdb) where
#0  0x00007f6b26857923 in __select_nocancel () from target:/lib64/libc.so.6
...
#9  0x00000000004497ee in main (argc=14, argv=0x7ffe8e4b0af8) at main.cpp:245

(gdb) c
Continuing.

^C^CThe target is not responding to interrupt requests.
Stop debugging it? (y or n) y
Disconnected from target.

0 个答案:

没有答案