0

「Hello、World」を出力するだけのソースファイルtestcc.cがあります。以下のようにccでコンパイルします

cc -g -o testcc testcc.c

実行するとうまくいきます。次のコマンドを使用して gdb でデバッグしたいと思います。

gdb testcc

gdb からの出力を確認できます。

GDB はフリー ソフトウェアであり、特定の条件下でそのコピーを配布することを歓迎します。条件を表示するには、「showcopy」と入力します。GDB に対する保証はまったくありません。詳細については、「保証を表示」と入力してください。GDB 4.16 (sparc-sun-solaris2.6)、Copyright 1996 Free Software Foundation, Inc...

しかし、5行目にブレークポイントを設定しようとすると、次のメッセージが表示されました

(gdb) break 5
Breakpoint 1 at 0x10814: file /home/users/xxx/C, line 5.
(gdb)

問題は /home/users/xxx/C が現在の作業ディレクトリであり、ソース ファイルではないことです!

次に、 file:line-number オプションを使用してみます

(gdb) break testcc.c:5
No source file named testcc.c.

そのため、以下のようにファイル名のフルパスを含めます

(gdb) break /home/users/xxx/testcc.c:5
No source file named /home/users/xxx/testcc.c.

私は混乱しています.ファイルはそこにあります.なぜgdbはそれを見つけられないのですか? また、gdb の起動時にソース ファイルを検索するディレクトリを指定しようとします。

gdb -d /home/users/xxx/C testcc

まだうまくいきません、何が問題ですか?

4

1 に答える 1

1

一日中苦労した後、私はついに、Sunccコンパイラによってコンパイルされたプログラムをデバッグするためにdbxを使用する必要があることに気付きました。ここにこれを言ったリンクがあります。

http://www.cs.cmu.edu/~gilpin/tutorial/

于 2012-11-15T04:16:08.487 に答える