我的多線程程序崩潰。我有.core
文件。我加載它,thread apply all backtrace
並得到下面的輸出線程墜毀:gdb - 獲取真實的崩潰行
Thread 1 (Thread 0x8567800 (runnable)):
#0 GG::serialize (this=0x847c180, [email protected])
at basic_string.h:269
好,崩潰,序列化,但報告說,它發生在STL basic_string.h:269
。
但是如何獲得實際碰撞線serialize()
函數?
向上調用堆棧適用於我。然而,在調試方面,我有點新手。 – chris
@chris你在做什麼?或者查看'thread apply all backtrace'報告的整個信息。我在我的例子中跳過了一些行,因爲在'serialize()'之前,下一行報告了前一個函數。但是我想知道'serialize()'的代碼或者其他的東西是怎麼回事。我在這個函數中序列化了'3'' std :: string',但不明白爲什麼它崩潰的時間... – abrahab
嗯,我使用CodeBlocks,所以它很容易。通常它可能會像'我的功能>一些低級別的功能>一些低級別的>崩潰',我所要做的就是滾動到我看到我的功能的地方,然後突出顯示/進入崩潰的行* *代碼。這有時候是你需要弄清楚爲什麼它崩潰的所有信息。沒有這樣的事情,我不確定。 – chris