一直在尝试使用GDB远程调试在我的目标上运行的应用程序。 目标是基于Armv6,操作系统是linux,应用程序是基于QT的多线程应用程序。
我可以设置断点。但是当突破点被击中时,程序会与SIGTRAP一起崩溃。
提示:我可以在同一目标上运行另一个小样本多线程QT-App。
可能是什么问题?
0x4ad52c处的断点1:文件<> ,<>。 (2个地点) (gdb)c 仍在进行中。
程序以信号SIGTRAP,Trace / breakpoint trap结束。 该计划已不复存在。 (gdb)
答案 0 :(得分:7)
你可能有一个解决方案:
希望得到这个帮助。
问候。
答案 1 :(得分:1)
好吧,gdb通过ptrace跟踪进程,并在ptrace空间中设置断点 线程,空间addr由另一个线程共享,如果另一个线程到达断点,哦,内核为线程生成一个sigtrap。
以下更多信息 http://lists.alioth.debian.org/pipermail/ltrace-devel/2006-April/000036.html