如何在gdb中获取断言的线程

3

当某个assert()失败时,gdb会中断但不显示正在中止的线程。对于信号(如segfault),它可以正常工作。有没有一种简单的方法可以知道刚刚中止的线程是哪些?

特别地,在这里我正在使用Xcode。


快速找到在GDB中断言的线程的方法 - elmarco
1
这个问题的作者接受了一个对我来说根本不是解决方案的答案。(而且也不是真正回答这个问题的答案。) - Albert
+1,我也遇到了同样的问题(请在您的答案中注明适用的编程语言)。 - João Portela
1个回答

0
你可以编写自己的assert宏,该宏发送SIGSEGV而不是SIGABRT
#define assert(check) do { if(!(check)) kill (getpid(), SIGSEGV); } while(0)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接