2012-03-29 19 views
0

私は自分のやり方を学んでいる中間のCプログラマです。私は最近、GDB(実際に強制)を使用して学び、Ptraceを使っていくつかのコードを実行しています。
ptraceでいくつかのコードをブラウズしていて、 "DEBUG INFO"を見つけました。デバッグ情報とは何ですか?

私はこれが何を意味するのか、これを自分のコードにいつ含めるべきかを知りたいですか?
デバッグ情報ファイルとは何ですか?

私はこれに関連してgoogleとwikiから多くを見つけることができませんでした。そのタグのwikiもありません。 正しい方向に向けることができれば、私はそれを書いて返済することができます。

+0

[here](http://sourceforge.net/projects/strace/files/strace/)から 'strace'コードをダウンロードしましたが、' strace.c'に 'DEBUG INFO'がありません。どのファイルを参照していますか?ここにスニペットを貼り付けることはできますか? –

+0

@PavanManjunath:申し訳ありません。それはstraceではありませんでした。それは間違いでした。あなたの時間を無駄にして申し訳ありません。私はこれを持っているコードを探しています。私に時間を与えてください。 –

答えて

2

あなたが参照しているDEBUG_INFOはおそらくLinuxカーネルのオプション(定義)です。カーネルの設定時に有効にすると、結果のバイナリにデバッグ情報を含めるようにコンパイラに指示されます。このデバッグ情報そのものは、デバッガ(およびstrace、addr2line、gprofなどの他のツール)が実行しているバイナリコードを、ソースライン、変数名などからコンパイルしたソースに関連付ける追加データです。デバッグ情報に関する一般的な情報は、DWARF(一般的なデバッグデータ形式)から始まります。

+0

私はこの近くのどこにも来ない自己回答を書いた:)感謝し、受け入れる:) +1! –

1

を確認してください。what is a core dump。いくつかの指示が出る可能性があります。

+0

ここで適切なスニペットを引用するといいです – nico

+0

@peter:私はそこで答えを得られませんでしたが、かなり興味深い事実を知るようになりました。ありがとうございました:) –

+0

@peter:私はより多くのリンクで別の回答を投稿したいけど、あなたの例もサイトにしたいです。それはハイジャックされるだろうか? –

0

クレジット全体が答えのためにピーターに行きます。 当初、私はその後、私は実際にリリースされ

構築

  • ビルドし

    1. デバッグの違いを伝え、次のlinkに出くわした「What is core dump
      を経て:デバッグビルドは、デバッグ情報の中に含まをビルドされたリリースにはこれらがなく、最適化されたコードです。 また、answerは、より多くの情報を入手するのに役立ちます。

  • 関連する問題