2011-12-27 4 views
1

ファイルmain.cが、master.cファイルの関数を使用するアプリケーションを作成しました。 を使用して、master.cファイルに定義されているすべての関数のアプリケーションをデバッグしたいと考えています。これは可能でしょうか?gdbを使用して実行中のアプリケーションの特定のファイルで関数をデバッグするにはどうすればよいですか?

+0

あなたが自分のアプリケーションをデバッグする用語とはどういう意味ですか?その言葉を洗練すると、下の回答が既に質問に答えるか、もっと具体的な解決策を見つけることができます。ヘッダーに定義されているすべての関数にブレークポイントを自動的に設定しますか?すべての機能の記憶を調べたいですか?または、指定された入力に対して特定の出力と比較して関数をテストしたいですか?これはまた役立つかもしれません:http://stackoverflow.com/questions/1504965/how-to-run-a-linux-program-line-by-line – Alex

+0

私は自動的にヘッダに定義されているすべての機能にブレークポイントを設定します。 .. –

+1

http://stackoverflow.com/questions/1476002/gdb-set-breakpoint-on-all-functions-in-a-fileの重複はありますか? –

答えて

5

あなたは-gフラグを使用してプログラムをコンパイルする必要があります。

次に、gdb your_programを開始し、master.cの#37行にブレークポイントを設定するブレークポイント、つまりbreak master.c:37を設定するか、関数:break foo()でブレークを設定できます。

その後...もっとドキュメントの

http://www.gnu.org/software/gdb/

http://www.gnu.org/software/gdb/documentation/

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

Googleにrunして、プログラムを起動して、デバッグプロセスを続行、inspectcontinuewatchdisplay gdbを使用しています。もちろん

があります:

Debug a running program with gdb

2

使用break例えばhere

を示すように:

break master.c:5 
関連する問題