我在gdb中运行C ++多线程linux应用程序。我收到错误消息“虚假线程死亡事件”。我找不到这条消息的原因。 在非gdb运行中,我没有看到运行或崩溃的任何问题。所以我不知道这是应用程序的“真实”问题还是与gdb中的调试有关的一些问题。有关此消息的任何信息都会有所帮助。
答案 0 :(得分:0)
嗯,我觉得这很有意思。似乎gdb在创建和销毁线程时跟踪线程。在这种情况下,gdb注意到线程被销毁而没有意识到正在创建相同的线程。这里有一篇很好的文章:http://timetobleed.com/how-do-debuggers-keep-track-of-the-threads-in-your-program/ 据我所知,这是“这应该永远不会发生”的错误,这意味着这可能是gdb / libthread_db中的一个错误...你能提供一个触发行为的最小例子吗?