WinDbg 配置符号路径
2024-04-11 23:16:21

配置符号路径

使用 WinDbg 的第一件事就是配置符号文件路径,通常有以下方法:

  1. 通过 WinDbg 菜单设置
    打开File菜单,点击Symbol File Path ...打开配置窗口(快捷键为 Ctrl + S)。输入:

    1
    SRV*C:\\Symbols*http://msdl.microsoft.com/download/symbols
  2. 设置系统环境变量
    比起在 WinDbg 中设置,我更喜欢用设置环境变量的方式,因为很多开发工具或调试软件都会读取_NT_SYMBOL_PATH环境变量的内容作为符号搜索路径。
    新建一个_NT_SYMBOL_PATH.reg文件,内容:

    1
    2
    3
    4
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
    "_NT_SYMBOL_PATH"="SRV*C:\\Symbols*http://msdl.microsoft.com/download/symbols"

    双击该文件导入到注册表即可。如果未生效的话就注销一下系统重新登录。

  3. 通过启动参数
    启动参数-y可以指定符号路径,仅本次运行生效。

    1
    windbg -y "SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols" notepad.exe
  4. 通过命令设置
    在 WinDbg 调试过程中用命令设置符号路径,仅本次运行生效。

    1
    .sympath SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols

符号相关命令

  • 开启符号文件加载信息的详细输出。

    1
    !sym noisy
  • 显示当前符号搜索路径。

    1
    .sympath
  • 设置符号搜索路径。

    1
    .sympath C:\Symbols
  • 追加符号搜索路径。

    1
    .sympath+ C:\Symbols2
  • 自动将符号路径设置为 Microsoft 符号服务器。

    1
    .symfix C:\Symbols

    这条指令将符号路径设置为SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols。简化了.sympath命令。

  • 重新加载符号。

    1
    .reload

    这条命令并不会真正的重新加载符号,只是把已加载模块的符号信息清除,在具体执行需要解析符号的命令时,才真正加载符号。

  • 强制重新加载符号。

    1
    .reload /f
  • 重新加载某个模块的符号。

    1
    .reload ntdll.dll
  • 打印指定模块的符号信息。

    1
    !chksym ntdll.dll

离线符号包

微软曾经推出过符号离线安装包,不过后来没有再提供了,所以只有一些老系统有安装包。新的符号必须在线下载。
WindowsXP-KB936929-SP3-x86-ENU.exe
WindowsXP-KB936929-SP3-x86-CHS.exe
WindowsXP-KB936929-SP3-x86-CHT.exe
WindowsXP-KB936929-SP3-x86-CHH.exe
Windows_Win7.7600.16385.090713-1255.X86FRE.Symbols.msi
Windows_Win7.7600.16385.090713-1255.X86CHK.Symbols.msi
Windows_Win7.7600.16385.090713-1255.X64FRE.Symbols.msi
Windows_Win7.7600.16385.090713-1255.X64CHK.Symbols.msi
Windows_Win7SP1.7601.17514.101119-1850.X86FRE.Symbols.msi
Windows_Win7SP1.7601.17514.101119-1850.X86CHK.Symbols.msi
Windows_Win7SP1.7601.17514.101119-1850.AMD64FRE.Symbols.msi
Windows_Win7SP1.7601.17514.101119-1850.AMD64CHK.Symbols.msi

相关阅读

关于WinDbg的符号文件设置