2009-07-08 18 views

答えて

3

Cはボックスからの反射をサポートしていません。また、機械コードにコンパイルされた後は、型がそれ以上存在しないという意味で、厳密に型指定されているわけではありません(高級言語とは異なります)。すべてのシンボルとデバッグ情報を含む実行可能ファイルをビルドし、デバッグツールまたはライブラリを使用してこのデータを取得する必要があります。

私は、Visual Studio Debuggerなどの検証済みのデバッガを使用すると、gdbがはるかに簡単になると考えられます。

+0

ありがとうございます。私はVisual Studio Debuggerにあまり慣れていないので、gdbに慣れていないと思います。少し前に、コードをデバッグしようとしましたが、うまくいかなかったのです。 – freakwincy

2

短答:いいえ。

長い答え:プログラムがコンパイルされてリンクされるまでに、その情報はすべて破棄されました。 C(およびC++)にはリフレクションがないため、この情報は実行時にリカバリできません。

興味深い答え:あなたがWindows上にいるので、デバッグ情報(PDBファイル)とDbgHelp APIでさまざまなことができます。

+0

説明をいただきありがとうございます。私が実際に取り組んでいるコードは、RIPE WHOISサーバーの修正版です。私はWindows上にいますが、実際にはほとんどの作業がLinuxで(SSH経由で)行われます。おそらく、ソースをローカルにビルドし、Visual Studio Expressでデバッグモードで実行できるかどうかを確認します。 – freakwincy