2016-07-06 18 views
0

私はLinuxでプログラムをgdbしようとしています。これは、アプリケーションを正常に実行するときに適切に読み込まれるいくつかのインクルードファイル(C/C++インクルードではなく、この言語インクルードファイル)を使用する言語のコンパイラです。 gdbの下で実行すると、アプリケーションはこれらのインクルードファイルを見つけることができないと訴える。私はgdbの内部pwdをチェックしました。スタンドアロンで実行したときとまったく同じです。何が問題なの?どうすれば修正できますか?GDBの下でデバッグされたファイルプログラムにファイルがありません

このコンパイラは環境変数を使用していないことに注意してください。現在のディレクトリからインクルードするようになっています。

+0

gdbでのデバッグがいる限り、アプリケーションがデバッグシンボルが含まれているとして、ソースコードへのgdbのアクセスを有することなく行うことができることに留意してください。それでも、関数とコード行を教えて、お気に入りのコードエディタで手作業で調べることができます。 – scai

+0

'strace -e trace = file yourprogram'でプログラムを実行できますか? straceはgdbと同じこと(setuidとsetgidを無効にするなど)を行い、 '-e trace = file'オプションを指定すると、ファイルエラー(パーミッションが拒否されている、存在しないなど)が表示されます。 –

+0

straceを使用すると、期待どおりに実行されます。 – ssuukk

答えて

関連する問題