約1週間前、GDBを使用してコアダンプから適切なバックトレースを取得するのに問題が発生し始めました。プログラムをGDBにロードしてクラッシュさせた場合、バックトレースを正常に取得できます。
これは、コアダンプから実行したときに得られるものです。
(gdb) bt
#0 0x00007fd10ad42425 in ?? ()
#1 0x00007fd10ad45b8b in ?? ()
#2 0x0000000000000004 in ?? ()
#3 0x0000000000000005 in ?? ()
#4 0x00007ffff770887e in ?? ()
#5 0x0000000000000009 in ?? ()
#6 0x00007fd10ae87ea7 in ?? ()
#7 0x0000000000000003 in ?? ()
#8 0x00007ffff77072ba in ?? ()
#9 0x0000000000000006 in ?? ()
#10 0x00007fd10ae87eab in ?? ()
#11 0x0000000000000002 in ?? ()
#12 0x00007ffff77072ce in ?? ()
#13 0x0000000000000002 in ?? ()
#14 0x00007fd10ae85b82 in ?? ()
#15 0x0000000000000001 in ?? ()
#16 0x00007fd10ae87ea7 in ?? ()
#17 0x0000000000000003 in ?? ()
#18 0x00007ffff77072b4 in ?? ()
#19 0x000000000000000c in ?? ()
#20 0x00007fd10ae87eab in ?? ()
#21 0x0000000000000002 in ?? ()
#22 0x0000000000000020 in ?? ()
#23 0x0000000000000000 in ?? ()
(gdb)
これは、SIGSEGV、SIGABRT(未処理の例外、またはアサート/検証)のいずれであるかに関係なく発生します。
次のコンパイラフラグを使用してコンパイルしています。
g ++ -Wall -Wextra -g -ggdb -std = gnu ++ 0x -rdynamic -pthread -O0
これを引き起こしているように変化したものは、私には本当に考えられません。何か案は?