3

Microsoftでは、XP、Vista、Server、さらには Windows 7 用の Windows シンボル パッケージをダウンロードできます。

私の問題は、これらのシンボルを Visual Studio で使用するにはどうすればよいですか? ダウンロードして抽出したシンボルを VS 2008 のどこに追加すれば、Windows 自体にデバッグできますか?

私が達成したいこと: _beginthreadex/endthreadex をデバッグして、一部のコードがハンドルを失っている理由/場所を確認したい。

ソース ファイルをダウンロードするように Visual Studio 2008 を設定できることは承知していますが、これは .net フレームワーク ソース専用のように見えますか?

4

2 に答える 2

5

シンボル パッケージは、現在実行している Windows のバージョンでのみ使用できます。それらは C:\Windows\Symbols にインストールされ、一度に 1 つしかインストールできません。

代わりに Symbol Server を使用してください。

シンボル サーバー

Visual Studio で、Tools/ Options/ Debugging/に移動しSymbolsます。「 http://msdl.microsoft.com/download/symbols」をSymbol file (.pdb) locationsリストに追加します。にキャッシュ ディレクトリを入力する必要がありますCache symbols from symbol servers to this directory:。C:\WebSymbols を使用します。ディレクトリを定期的にクリーンアップできますが、十分なスペースがあります (私の場合は約 600Mb あります)。

これにより、一般的に必要なすべてのシンボルがキャッシュされるまで、最初はデバッグ セッションが遅くなります。

_NT_SYMBOL_PATHまたは、環境変数を次のように設定することで、すべての Windows デバッガーに対してこれをグローバルに設定できますSRV*C:\WebSymbols*http://msdl.microsoft.com/download/symbols

また、(ビルド プロセスの一環として) SYMSTORE.EXE ( Debugging Tools for Windowsから) を使用して独自の .PDB ファイルを収集し、そのディレクトリをこのリストに追加することもできます。

ソース サーバー

.PDB ファイルには、ビルド元のソース ファイルへの (オプションの) 参照を含めることができます。おっしゃるとおり、この機能を使用して .NET ソースをダウンロードできますが、C++ ソース ファイルでも機能します。元のソース ファイルの SVN パスとリビジョンで .PDB ファイルに注釈を付けます。「ソースに移動」を使用すると、Visual Studio は SVN を使用して、EXE がビルドされた正確なソース コードをダウンロードします。これは本当にクールです。

PDB ファイルに注釈を付けるにsrcsrvは、Debugging Tools for Windows のディレクトリにあるツールが必要です。

于 2009-02-17T11:45:16.517 に答える
0

「Windows 自体にデバッグ」したい場合は、MSVC++ の Express エディションでは実行できない、既に実行中のプロセスにアタッチできるようにする必要があります。そのため、Express エディションを使用している場合 (そうでない場合でも) は、Debugging Tools for Windows をダウンロードすることをお勧めします。これは、MSVC++ に含まれているデバッガーよりも使いにくいですが、より強力なデバッガーwindbgとデバッガーを提供します。cdb

于 2009-02-17T11:53:23.640 に答える