シンボリックデバッガーがどのように機能するかを理解したいですか?. デバッグ シンボル テーブルとは何か、およびそれがソース レベルのデバッグを容易にする方法。私は、デバッガーの舞台裏のアクションにまったく気づいていません..gccに「-g」オプションを提供すると実際に何が起こるか、オブジェクトファイルに何が書き込まれるかなどの複雑さ。SO コミュニティが説明し、より多くの情報を入手できる情報源を教えてくれると嬉しいです
2140 次
2 に答える
3
シンボル ファイルは、定義されたすべてのグローバル変数と関数、およびモジュールの先頭からのオフセットの単なるリストです。また、すべての構造のリストとそれらのフィールドの説明も含まれています。
そうすれば、GDB/WinDbg がロードされるときに、EIP (現在の命令) を調べて、アドレスを (SomeFunc+0x25) のようなものにマップできます。もちろん、ほとんどのシンボルには行情報もエンコードされているため、さらに一歩進んで、「SomeFunc+0x25 は foo.cpp 行 57 に最も近い」と言うことができます。
于 2009-02-24T17:38:59.743 に答える
0
gcc によって生成されるすべてのデバッグ情報と、デバッガーがそれをどのように利用するかについての詳細な説明については、DWARF Debugging 仕様を確認してください。
于 2009-07-17T22:31:37.547 に答える