Multithreading 在使用RTOS的多线程应用程序中遇到断点后使用gdb的进程崩溃
我正在运行多线程程序。我正在尝试使用远程调试来调试它。我已将该进程附加到gdb,并在代码中设置了一个断点,以便断点命中位置(Dynamic like库中存在断点的位置),但在Dynamic link库代码中创建新线程后,应用程序崩溃 我正在RTOS上运行此应用程序Multithreading 在使用RTOS的多线程应用程序中遇到断点后使用gdb的进程崩溃,multithreading,gdb,rtos,Multithreading,Gdb,Rtos,我正在运行多线程程序。我正在尝试使用远程调试来调试它。我已将该进程附加到gdb,并在代码中设置了一个断点,以便断点命中位置(Dynamic like库中存在断点的位置),但在Dynamic link库代码中创建新线程后,应用程序崩溃 我正在RTOS上运行此应用程序 您的进程没有崩溃,它调用了abort。此时你应该问的问题是“那个电话是从哪里来的”。要回答这个问题,请使用GDBwhere命令。感谢您提供的详细信息,在我的例子中,RTOS系统存在问题,目前它不支持多线程应用程序的调试。您的进程没有崩
您的进程没有崩溃,它调用了
abort
。此时你应该问的问题是“那个电话是从哪里来的”。要回答这个问题,请使用GDBwhere
命令。感谢您提供的详细信息,在我的例子中,RTOS系统存在问题,目前它不支持多线程应用程序的调试。您的进程没有崩溃,它称为abort
。此时你应该问的问题是“那个电话是从哪里来的”。要回答这个问题,请使用GDBwhere
命令。感谢提供详细信息,在我的例子中,RTOS系统存在问题,目前它不支持多线程应用程序的调试。
(gdb) info threads
[New Thread 1807]
[New Thread 1808]
[New Thread 1812]
Id Target Id Frame
4 Thread 1812 0x00007ffff6911eb7 in mlockall () from /lib/libc.so.6
3 Thread 1808 0x00007ffff7bcd20d in accept () from /lib/libpthread.so.0
2 Thread 1807 0x00007ffff6911b69 in syscall () from /lib/libc.so.6
* 1 Thread 1804 CAppGroup::CAppGroup (this=0x65dd00, Name=..., pErrorHandlerMsgQ=0x605790) at ../../MControl/AppGroup.cpp:480
(gdb) n
481 }
(gdb) n
Program received signal SIGABRT, Aborted.
[Switching to Thread 1812]
0x00007ffff68643f7 in raise () from /lib/libc.so.6
(gdb) n
Single stepping until exit from function raise,
which has no line number information.