正确设置符号进行调试可能是一项很有挑战性的任务,尤其是对于内核调试而言。 这通常需要知道计算机上所有产品的名称和版本。 调试器必须能够找到与产品版本和服务包对应的每个符号文件。
这可能会导致符号路径极长,路径中包含一长串的目录。 为了简化协调符号文件的这些困难,可以将符号文件收集到
符号存储
中,然后由
符号服务器
访问。
符号存储
是符号文件、索引和工具的集合,管理员可使用该工具添加和删除文件。 符号存储还可以包含可执行图像文件。
根据唯一参数(如时间戳和图像大小)为文件编制索引。 符号存储还可以保存可使用符号服务器提取的可执行图像文件。 Windows 调试工具包含名为
SymStore
的符号存储创建工具。
调试器使用符号
服务器访问符号
存储中的文件。 Windows 调试工具包括符号存储创建工具
SymStore
和符号服务器
SymSrv
。 它还包括一个工具
SymProxy
,用于在网络上设置 HTTP 符号存储,以充当调试器可能需要访问的所有符号存储的代理。
符号服务器使调试器能够自动从符号存储检索正确的符号文件,而无需用户知道产品名称、版本或内部版本号。 Windows 调试工具包含一个名为
SymSrv 的
符号服务器。 通过在符号路径中包含特定文本字符串来激活符号服务器。 每次调试程序需要为新加载的模块加载符号时,都会调用符号服务器来查找相应的符号文件。 有关使用符号服务器的信息,请参阅
Microsoft 公共符号
。
如果要对符号搜索使用与 SymSrv 提供的方法不同的方法,则可以开发自己的符号服务器 DLL。 有关实现此类符号服务器的详细信息,请参阅
其他符号服务器
。
本节包括:
HTTP 符号存储
文件共享 (SMB) 调试器符号服务器
符号存储文件夹树
其他符号存储
安装 Windows 符号文件
Windows 更新的脱机符号
如果不设置自己的符号存储,而只是想要使用公共 Microsoft 符号存储,请参阅
Microsoft 公共符号
。
符号实用工具
以下实用工具可以在较大的软件开发项目中分发和控制符号。