2017-01-10 20 views
1

gdbでコアファイルをデバッグしようとすると、(以下のリンクで報告された問題と同様に)さらに進んでいくために有効なスタックトレースが表示されません。問題をデバッグするためにさらにデバッグする方法を教えてください。問題のトリガに役立つポインタやgdbコマンド。gdbを使用してデバッグする方法がアドレスにアクセスできない

GDB debugging trace with no relevant info (#0 0x2e6e6f69 in ??())

(gdb) where 
#0 0x76c0da28 in ??() 
#1 0x76c0d9e0 in ??() 
#2 0x76c0d9e0 in ??() 
Backtrace stopped: previous frame identical to this frame (corrupt stack?) 
(gdb) 

EDIT:-gフラグとhost environment問題の可能性を排除するために、私は意図的にクラッシュするコードを追加し、コアファイルから正しいスタックトレースを取得することができたしています。

+2

'-g'オプションを有効にしてバイナリをコンパイルしましたか? –

+0

はいそれはコンパイルされます。 –

+1

スタックのメッセージが壊れていると、メモリアクセスで何か問題が発生したことを示している可能性がありますが、[valgrind](http://valgrind.org)のようなツールが問題を把握するのに役立ちます。 – dvhh

答えて

0

私はgdbでデバッグコアファイルにしようとすると、私は

任意の有効なスタックトレースを参照してくださいいけないが、それが分析されているのと同じホスト上に生成されるコアましたか?

そうでない場合は、this answerで必要なことが説明されています。

+0

はい、同じホスト上にあります。 –

関連する問題