GDB调试:应用程序终止于SIGTRAP

时间:2012-08-03 06:19:30

标签: linux debugging gdb

一直在尝试使用GDB远程调试在我的目标上运行的应用程序。 目标是基于Armv6,操作系统是linux,应用程序是基于QT的多线程应用程序。

我可以设置断点。但是当突破点被击中时,程序会与SIGTRAP一起崩溃。

提示:我可以在同一目标上运行另一个小样本多线程QT-App。

可能是什么问题?

GDB日志如下

0x4ad52c处的断点1:文件<> ,<>。 (2个地点) (gdb)c 仍在进行中。

程序以信号SIGTRAP,Trace / breakpoint trap结束。 该计划已不复存在。 (gdb)

(GDB)

2 个答案:

答案 0 :(得分:7)

答案 1 :(得分:1)

好吧,gdb通过ptrace跟踪进程,并在ptrace空间中设置断点 线程,空间addr由另一个线程共享,如果另一个线程到达断点,哦,内核为线程生成一个sigtrap。

以下更多信息 http://lists.alioth.debian.org/pipermail/ltrace-devel/2006-April/000036.html