在 Microsoft,我可以下载 the Windows Symbol Packages for XP, Vista, Server, even Windows 7 .
我的问题是:如何在 Visual Studio 中使用这些符号?我可以在 VS 2008 的哪个位置添加下载和提取的符号,以便我可以调试到 Windows 本身?
我想实现的:我想调试_beginthreadex/endthreadex,看why/where some code is losing handles .
我知道我可以set visual studio 2008 to download source files , 但看起来这仅适用于 .net 框架源?
最佳答案
符号包仅对您当前运行的 Windows 版本有用——它们安装在 C:\Windows\Symbols 中,并且您一次只能安装一个。
改用符号服务器。
符号服务器
在 Visual Studio 中,转到:工具
/选项
/调试
/符号
。将“http://msdl.microsoft.com/download/symbols”添加到 符号文件 (.pdb) 位置
列表。您需要在 Cache symbols from symbol servers to this directory:
中输入缓存目录。我使用 C:\WebSymbols。您将获得足够的空间(我的空间大约有 600Mb),但您可以定期清理目录。
这最初会减慢您的调试 session ,直到缓存了您通常需要的所有符号。
或者,您可以通过将 _NT_SYMBOL_PATH
环境变量设置为类似这样的内容来为所有 Windows 调试器全局设置它:SRV*C:\WebSymbols*http://msdl.microsoft。 com/下载/符号
。
您还可以(作为构建过程的一部分)使用 SYMSTORE.EXE(来自 Debugging Tools for Windows)收集您自己的 .PDB 文件,并将该目录添加到此列表。
源服务器
.PDB 文件可以有一个(可选的)对构建它们的源文件的引用。正如您提到的,您可以使用此功能下载 .NET 源代码,但它也适用于 C++ 源文件。我们用原始源文件的 SVN 路径和修订版注释我们的 .PDB 文件。当我们使用“Go to Source”时,Visual Studio 使用 SVN 下载构建 EXE 的确切源代码。这真的很酷。
要注释 PDB 文件,您需要 Windows 调试工具中 srcsrv
目录中的工具。
关于windows - 如何在 Visual Studio 2008 中使用 Windows 符号包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/556383/