【发布时间】:2018-05-20 13:21:23
【问题描述】:
我知道以前有人问过这个问题,但我已经阅读了所有主题,但没有找到答案。
从我执行run 开始调试我的项目的那一刻起,我得到了这个:Program received signal SIGTRAP, Trace/breakpoint trap. [Switching to Thread 6]。当我做ctrl+c 时,gdb 告诉我:Program received signal SIGINT, Interrupt.
0x00000000 in ?? ()
通常它会告诉我哪个文件和哪个函数被中断而不是0x00000000 in ?? ()
GDB 不再遇到断点,更疯狂的是我和一位同事正在共享同一个会话(调试是使用 cygwin 和远程机器完成的),它对他们来说很好,但对我来说不行。
当我尝试使用info threads 获取有关线程的信息时,我得到了以下信息:
[New Thread 20]
[New Thread 21]
[New Thread 22]
Id Target Id Frame
4 Thread 22 (ssp=0xa9004d5c) 0x00000000 in ?? ()
3 Thread 21 (ssp=0xa9002e64) 0x00000010 in ?? ()
2 Thread 20 (ssp=0xa9000ef4) 0x00000000 in ?? ()
The current thread <Thread ID 1> has terminated. See `help thread'
没有线程 6,也没有 * 来指示 gdb 正在使用哪个线程。我什至不知道这是否与问题有关。
谁能帮帮我?
【问题讨论】:
-
你再次隐瞒了几乎所有相关信息。
-
通过“共享同一个会话”,这是否意味着多个用户正在运行他们自己的 gdb 副本(相同或不同版本?)并轮流连接到同一个远程 gdbserver 进程?
-
当我说同一个会话时,我的意思是我们两个以同一个用户登录。至于gdb版本,是7.2。
标签: c gdb remote-debugging