2013-08-12 38 views
8

私はtestというファイルを持っています。 -gでコンパイルした後でも、gdbで実行すると、デバッグシンボルが見つかりません。私はまた、-ggdbを使ってみましたが、それはあまり使われていませんでした。助けてください。gdb:(デバッグシンボルが見つかりません)

Output for : gdb test 

This GDB was configured as "x86_64-linux-gnu". 
For bug reporting instructions, please see: 
<http://www.gnu.org/software/gdb/bugs/>... 
Reading symbols from /usr/bin/test...(no debugging symbols found)...done. 

答えて

7

で問題が間違ったプログラムをデバッグしようとしているということであることがわかります。

あなたのプログラムは/usr/bin/test(シンボルが含まれていなくても、ソースコードには関係しないシステムプログラムです)をデバッグしています。

gdbは、実行可能ファイルを見つけるために$PATHを検索します。 hereから:

のexecファイル[ファイル名]プログラムが実行される(ただし、 シンボルテーブル)をファイル名に見出されることを指定します。 gdbは環境変数 を検索し、必要に応じて変数PATHを探してプログラムを探します。ファイル名を省略した場合 は、実行可能ファイルに関する情報を破棄することを意味します。

コマンドを使用してみてください:

$ gdb ./test 
+0

このファイルまたはディレクトリが見つかりません。 私はgdbのWeb上でチュートリアルを行っていましたが、プログラム名がtest.cppならばgdb testを使うように頼んだところです – psyc0der

+0

ファイル '。/ test'は存在しますか? – trojanfoe

+0

私は確かに./testはtest.outを実行する方法です。そしてtest.cppをコンパイルしてtest.outに出力します。 – psyc0der

0

実行可能ファイルが取り除かれていないことを確認し、あなたはfile /usr/bin/test

+0

gdbで/ usr/bin/testファイルを実行すると、同じ出力が得られます。 /usr/bin/test...((デバッグシンボルが見つかりません)...からのシンボルの読み取り... done。 – psyc0der

+0

あなたは 'file/usr/bin/test'の結果を投稿できますか? – Mali

+0

'/usr/bin/test...(デバッグシンボルが見つかりませんでした)からのシンボルの読み込み... done.' – psyc0der

1

a.outを削除してから再試行してください。私も同じエラーが出ていたので、それは私のために働いた。

rm a.out 
gcc -g your_code.c 
関連する問題