2012-03-12 15 views
1

私はデバッグの目的のためにいくつかの構造体を印刷する必要があります。コード基盤が巨大なので、私は構造体全体を印刷することができるいくつかの方法があります。またはatleastそれは私が戻って、その定義を調べることができるように構造のどのようなタイプを知っている?タイプを知らなくても印刷できますか?

+0

gdbに入れることはできませんか? – hari

+1

'p struct_var'は、構造体要素全体をdbxの要素で自動的に出力します。あなたはこれをCプログラムの中から望みますか? –

+0

私があなたに提案できるトピックソリューションのもう1つ - ダウンロードSOURCE Insightトライアルバージョンhttp://www.sourceinsight.com/eval.html。完全なプロジェクトを追加してください。心配しないでください。 SIは膨大なプロジェクトを処理できます。ファイルを同期します。ビオラ!構造定義に移動します。 –

答えて

3

デバッガを使用してください。ほとんどのデバッガは、ブレークポイントを押すたびに構造全体の内容を表示するオプションを提供します。 * nixでは最も一般的なデバッガはgdb、Windowsでは最も一般的なIDE(デバッガを含む)はVisual Studioです。両方のサイトにリンクされている私はリンクフリーのビールのダウンロードリンクを持っている。

gdbでは、breakコマンドでブレークポイントを設定できます。ブレークポイントに達すると、printコマンドで構造体の内容を出力できます。具体的には、デバッグデータを使用してコンパイルすることができます(gccので-gフラグ)を含め、その後、それはまたステップに探して価値があると継続コマンド

$ gdb debugging_executable 
Some basic information about GDB gets printed here 
> break main.c:100 
> run 
> print struct_variable 

を使用しています。

Visual Studioでは、ソース行の左端(エディタの左側に灰色のバーがあります)をダブルクリックして変数名の上にマウスを置くと、内容を検査できますブレークポイントに達すると

関連する問題