有时程序中有未捕获的异常会导致程序异常的行为甚至导致程序的直接退出。 这对服务器程序来说是不可接受的。
可以使用gdb
的catch
命令来帮助我们调试异常。
使用gdb
捕获异常的扔出点(相当于在扔出异常的地方添加断点):
catch throw
使用gdb捕获线程退出(相当于在线程退出的时候添加断点):
catch pthread_exit
这样,如果相应的事件发生,gdb
就会中断程序的执行, 就可以使用gdb
的bt
命令来检查出现错误的调用栈了。
更多信息:
help catch