如何:指定符号位置和加载行为
本主题适用于:
版本 |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
学习版 |
|||||
专业版、高级专业版和旗舰版 |
为调试应用程序,调试器需要 PDB 文件中存储的符号信息。 在某些情况下,符号信息可能位于较旧格式的 DBG 文件中。 需要符号文件,才能对您的应用程序以及具有的任何第三方或系统 DLL 进行调试。 符号文件可以存储在您计算机上的目录中,也可以从符号服务器下载。
默认情况下,调试器从 EXE 所在的位置加载符号文件。 若要使用其他目录或符号服务器中的符号,必须指定 Visual Studio 的位置。
当您开始调试会话时,Visual Studio 将自动加载符号。 您可以指定 Visual Studio 为其自动加载符号的模块。 如果选择不为所有模块自动加载符号,则可以使用**“模块”**窗口手动加载其他符号。
有关如何使用符号服务器的信息,请参见如何:使用符号服务器。 如果您使用符号服务器,请确保该服务器是可信的。 否则,您可能会面临安全威胁。
指定符号文件所在的目录
在**“工具”菜单上选择“选项”**。
在**“选项”对话框中,打开“调试”节点,然后单击“符号”**。
在**“符号”页上,有一个指示“符号文件(.pdb)位置”**的框。 该框上方有四个图标。
单击文件夹图标。
**“符号文件(.pdb)位置”**框中将显示可编辑的文本。
键入目录路径。 语句结束有助于找到正确的格式。
如果要执行远程调试,则托管代码的符号文件和符号服务器缓存必须位于远程计算机上。 本机代码的符号文件和符号服务器缓存必须位于本地计算机上。
如果要使用远程符号服务器上的符号,通过指定一个可将符号复制到其中的本地目录,您将能够提高性能。 若要执行此操作,请在**“在此目录下缓存符号”**框中键入一个路径。 如果在远程计算机上调试程序,缓存目录指的是远程计算机上的目录。
单击**“确定”**。
从符号路径列表中移除路径名
如以上过程所述,打开**“选项”对话框,找到“符号”**页。
在**“符号文件(.pdb)位置”**框中选择一个路径。
单击红色**“X”**图标。
单击**“确定”**。
指定要自动加载的符号
如以上过程所述,打开**“选项”对话框,找到“符号”**页。
在**“对以下模块自动加载符号”下,单击“除排除模块之外的所有模块”或“仅指定的模块”**。
如果您选择**“除排除模块之外的所有模块”,则现在可以单击“指定排除的模块”**。
将出现**“要从自动加载中排除的符号”**对话框。
单击文档图标将模块添加到**“模块”列表中,或者在“模块”列表中选择一个模块,然后单击“X”**图标将其移除。
完成上述操作后,单击**“确定”**。
如果您选择**“仅指定的模块”,则现在可以单击“指定模块”**。
将出现**“要自动加载的符号”**对话框。
单击文档图标将模块添加到**“模块”列表中,或者在“模块”列表中选择一个模块,然后单击“X”**图标将其移除。
默认情况下,始终加载应用程序模块所在目录中的符号。 若要停止此默认行为,请清除**“始终加载位于模块旁的符号”**。
完成上述操作后,单击**“确定”**。
单击**“确定”**。
手动加载符号
可以从“模块”窗口中手动加载符号。 此功能在 Visual Basic、Visual C# 或 Web Developer 学习版中不可用。
手动加载符号
在**“模块”窗口右击,指向“加载符号”,然后单击“符号路径”或“Microsoft 符号服务器”**。
调试器将搜索符号路径或符号服务器以查找符号。 如果调试器未找到符号,则显示**“查找符号”**对话框。
在**“查找符号”对话框中,找到要加载的符号文件,然后单击“确定”**。
符号文件是 .pdb 文件或 .dbg 文件。