2012-01-03 14 views
1

gdbでC/C++コードをデバッグするときに、たとえばlistコマンドを使用してデバッグしているソースファイルを表示できます。しかし、アセンブリ関数を導入してソースをリストしようとすると、gdbはそれを見ません。 「情報源」ではCファイルだけが表示されます。gdbでアセンブリソースファイルが表示されない理由

私はコードを逆アセンブルすることができますが、私はコメントなどでソースを見たいと思います。 アセンブリソースに対応するオブジェクトファイルをチェックしましたが、ソースファイルの名前はそこに記録されていません(Cファイル用です)。

この動作は仕様ですか?いくつかの旗が欠けていますか?

答えて

4

コンパイラがデバッグ情報を生成するためにフラグを必要とするのと同様に、アセンブラも作成します。どのアセンブラを使用しているのか分からず、私はあなたが必要とする旗を言うことができませんでした。

+0

gcc(gnuアセンブラを実行)を使用しています。私は-g3フラグを使用しています。 – dbrank0

+0

gccにはオプションをアセンブラに渡すための-Waフラグがあります。アセンブラも-gを使ってデバッグ情報の生成を通知するように見えます。 –

+0

ありがとうございます。 x86 gcc上では、gccに-gを渡すだけで実際にも動作します(これをそのままgccに渡します)。私は実際にはそうではない他のツールチェーンで遊んでいましたが、誤ってこれが一般的なGNUであるという結論に至りました。 – dbrank0

関連する問題