简体   繁体   English

gdb中的消息“虚假线程死亡事件”

[英]Message “Spurious thread death event” in gdb

I am running a C++ multi-threaded linux application in gdb. 我正在gdb中运行C ++多线程linux应用程序。 I get error message "Spurious thread death event". 我收到错误消息“虚假线程死亡事件”。 I couldn't find why this message comes. 我找不到为什么出现此消息。 In non-gdb run, I don't see any issue with the run or crash. 在非gdb运行中,我看不到运行或崩溃的任何问题。 So I cannot know if this is 'real' issue with application or some issue related to debugging in gdb. 因此,我不知道这是应用程序的“实际”问题还是gdb中与调试有关的问题。 Any information regarding this message will be helpful. 有关此消息的任何信息都将有所帮助。

Well, I think that this is quite interesting. 好吧,我认为这很有趣。 It seems that gdb keeps track of threads as they are created and destroyed. 似乎gdb在创建和销毁线程时会跟踪线程。 In this case gdb notices that a thread was destroyed without being aware of the same thread being created. 在这种情况下,gdb注意到一个线程被破坏了,而没有意识到正在创建同一线程。 There is a nice article here: http://timetobleed.com/how-do-debuggers-keep-track-of-the-threads-in-your-program/ As far as I see this is an error of the "this should never happen" kind, meaning that this might be a bug in gdb / libthread_db... Could you provide a minimal example that triggers the behaviour? 这里有一篇不错的文章: http : //timetobleed.com/how-do-debuggers-keep-track-of-the-threads-in-your-program/据我所见,这是“ this永远不会发生”,这意味着这可能是gdb / libthread_db中的错误...您能否提供一个触发行为的最小示例?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM