が表示されない:(APP.exe.stackdump)をSTACKDUMP ++私は時々クラッシュして、次のファイルを作成アプリ持つスタックトレース
Exception: STATUS_ACCESS_VIOLATION at eip=6BA4B246
eax=67452301 ebx=EFCDAB89 ecx=98BADCFE edx=10325476 esi=FFFFFFFF edi=98BADCFE
ebp=FFFFFFFF esp=01A2C928 program=C:\APP.exe, pid 168, thread unknown (0x13E8)
cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023
Stack trace:
Frame Function Args
End of stack trace
私は、Windows、UbuntuとCentOSにで++グラムしてコンパイルしています。エラーは時にはスレッド内でのみ発生しますが、スタックトレースを取得するにはどうしていますか?または任意の追加情報?
アップデート1:
私はそれをキャプチャすることができます。
signal(SIGSEGV, sigHandler);
しかし、それでもまだ、私はスタックトレース情報を持っていません。スタックトレースが使用できない理由を
Windows、Ubuntu、Centosでコンパイルしています。あなたは3人全てで、あるいは1人だけでエラーになっていますか? –
私は間違っているかもしれませんが、 'esp'は妥当と思われます。あなたはそこに見ましたか?スタックトレースがないということは、トップレベルの戻り値が自動的には見つかりませんでしたが、スタックの破損(1つのポインタ)が非常に小さいことを意味します。 – MSalters
はスタックの破損と思われます。もし 'gdb'で再現できますか?if '-g'でコンパイルされますか? –