在C++多线程环境中,有两个线程正在运行,当第二个线程尝试访问某些内容时程序会崩溃,但是崩溃是由于第一个线程而发生的。您如何使用GDB找出这一点。
最佳答案
使用thread 1
和thread 2
(或t 1
和t 2
)在线程之间进行切换,并使用bt
获得两者的堆栈跟踪。然后打印一些变量,以猜测哪个是坏的,未初始化的,超出范围的,等等。:)
看看帮助。 help threads
给您提示...
my2c
关于multithreading - 多线程和GDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4814708/