2012-03-31 8 views
0

私はgcc 4.4.3をubuntu 10.4 32bitマシンで使用しています。 私は 'gdb'を使って自分のコードをデバッグします。私はコードをデバッグするたびに、gdbのステップを(printfやfgetsなどの)コードでも使用されているcライブラリ関数に踏み込んだりしています。これは、ある機能から他の機能への呼び出しの長いリストを示します。添付されたスクリーンショットを見てください。 これまでgdbは自分のコードを踏んできていました。 たぶん私は初心者です!しかし、gdbが私に現在の文脈に興味がない多数の行を表示すると、時には本当に刺激的です。gcc with gcc 4.4.3

誰かがこの機能をオフ/オンにする方法と、それをオンにする原因が何であるか(私は何もしていないことを覚えていません)を教えてくれる人なら。 多くのありがとうございます。 enter image description here

+2

関数呼び出しに入る 'step'コマンドや、関数呼び出しをスキップする' next'コマンドを使用しましたか?関数から抜け出すには、 'finish'コマンドを使います。 –

+0

私はブレークポイントに達した後に 'step'コマンドを使用しました。私は以前もこれをやっていましたが、lib関数には一度も入りませんでした。 – abhi

答えて

4

私は以前にもそれを行うために使用されるが、その後、それはあなた(または誰かが)libc6-dbgパッケージをインストールしたlibに機能

のいずれにも行ったことがありません。その前に、GDBはデバッグ情報を持っていなかったので、libc関数に入ることができませんでした。今、彼らはそうし、それはできます。

nextを入力するか、libc6-dbgをアンインストールするときは、stepと入力する習慣から抜けてください。

+0

@雇用ロシア..これの背後にある理由に感謝します。 – abhi

+1

はい: 'valgrind'は実際に' libc6-dbg'をUbuntuに必要とします - Valgrindは 'ld-linux.so 'の内部について知っておく必要があります。その情報は 'libc6-dbg'から*のみ*利用可能です。 –