如何:指定符号位置和加载行为

本主题适用于:

版本

Visual Basic

C#

F#

C++

Web Developer

学习版

主题适用 主题适用 主题适用 主题适用 主题适用

专业版、高级专业版和旗舰版

主题适用 主题适用 主题适用 主题适用 主题适用

为调试应用程序,调试器需要 PDB 文件中存储的符号信息。 在某些情况下,符号信息可能位于较旧格式的 DBG 文件中。 需要符号文件,才能对您的应用程序以及具有的任何第三方或系统 DLL 进行调试。 符号文件可以存储在您计算机上的目录中,也可以从符号服务器下载。

默认情况下,调试器从 EXE 所在的位置加载符号文件。 若要使用其他目录或符号服务器中的符号,必须指定 Visual Studio 的位置。

当您开始调试会话时,Visual Studio 将自动加载符号。 您可以指定 Visual Studio 为其自动加载符号的模块。 如果选择不为所有模块自动加载符号,则可以使用**“模块”**窗口手动加载其他符号。

有关如何使用符号服务器的信息,请参见如何:使用符号服务器。 如果您使用符号服务器,请确保该服务器是可信的。 否则,您可能会面临安全威胁。

指定符号文件所在的目录

  1. 在**“工具”菜单上选择“选项”**。

  2. 在**“选项”对话框中,打开“调试”节点,然后单击“符号”**。

    在**“符号”页上,有一个指示“符号文件(.pdb)位置”**的框。 该框上方有四个图标。

  3. 单击文件夹图标。

    **“符号文件(.pdb)位置”**框中将显示可编辑的文本。

  4. 键入目录路径。 语句结束有助于找到正确的格式。

    如果要执行远程调试,则托管代码的符号文件和符号服务器缓存必须位于远程计算机上。 本机代码的符号文件和符号服务器缓存必须位于本地计算机上。

  5. 如果要使用远程符号服务器上的符号,通过指定一个可将符号复制到其中的本地目录,您将能够提高性能。 若要执行此操作,请在**“在此目录下缓存符号”**框中键入一个路径。 如果在远程计算机上调试程序,缓存目录指的是远程计算机上的目录。

  6. 单击**“确定”**。

从符号路径列表中移除路径名

  1. 如以上过程所述,打开**“选项”对话框,找到“符号”**页。

  2. 在**“符号文件(.pdb)位置”**框中选择一个路径。

  3. 单击红色**“X”**图标。

  4. 单击**“确定”**。

指定要自动加载的符号

  1. 如以上过程所述,打开**“选项”对话框,找到“符号”**页。

  2. 在**“对以下模块自动加载符号”下,单击“除排除模块之外的所有模块”“仅指定的模块”**。

  3. 如果您选择**“除排除模块之外的所有模块”,则现在可以单击“指定排除的模块”**。

    将出现**“要从自动加载中排除的符号”**对话框。

    单击文档图标将模块添加到**“模块”列表中,或者在“模块”列表中选择一个模块,然后单击“X”**图标将其移除。

    完成上述操作后,单击**“确定”**。

  4. 如果您选择**“仅指定的模块”,则现在可以单击“指定模块”**。

    将出现**“要自动加载的符号”**对话框。

    单击文档图标将模块添加到**“模块”列表中,或者在“模块”列表中选择一个模块,然后单击“X”**图标将其移除。

    默认情况下,始终加载应用程序模块所在目录中的符号。 若要停止此默认行为,请清除**“始终加载位于模块旁的符号”**。

    完成上述操作后,单击**“确定”**。

  5. 单击**“确定”**。

手动加载符号

可以从“模块”窗口中手动加载符号。 此功能在 Visual Basic、Visual C# 或 Web Developer 学习版中不可用。

手动加载符号

  1. 在**“模块”窗口右击,指向“加载符号”,然后单击“符号路径”“Microsoft 符号服务器”**。

    调试器将搜索符号路径或符号服务器以查找符号。 如果调试器未找到符号,则显示**“查找符号”**对话框。

  2. 在**“查找符号”对话框中,找到要加载的符号文件,然后单击“确定”**。

    符号文件是 .pdb 文件或 .dbg 文件。

请参见

参考

“选项”对话框 ->“调试”->“符号”

概念

DBG 文件

程序数据库文件 (C++)

程序数据库文件(C#、F# 和 Visual Basic)

安装用于调试系统调用故障的符号

其他资源

调试设置和准备