Windbg路径的配置问题

windbg是调试驱动的工具,其实原来已经配置过他了,可以通过vm进行远程调试,但是那个过程忘记了,好像当初也是乱搞,然后突然发现好了,可是原来系统重装了,结果又要重新配置过了,结果现在,连symbol都出现问题,找了一些资料,终于搞定了。把这个过程写下来,以免忘记。
 
我在“symbol File Path”中设置“reload”,出现下面的问题:
 
 

lkd> .reload
Unable to read head of debugger data list
Connected to Windows XP 2600 x86 compatible target, ptr64 FALSE

*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrnlpa.exe - 
Loading Kernel Symbols
..................................................................................................................................................
Loading User Symbols
............................................................................................................
Loading unloaded module list
.........................

还以为真是的操作系统是AMD64位的,而虚拟机是单核CPU的,symbol文件是不一样的,但是我的虚拟机系统是windows xp+sp2 32bit的,而symbol文件也是对应版本,应该不会错的。

使用一些命令,比如:u KeAttachProcess,则没有问题,应为这些函数是导出的,但是我用:u PspTerminateProcess,则显示错误,unresovle,好像又是symbol的问题,后面就这样设置了“symbol file path”:

C:WINDOWSSymbols; SRV*C:WINDOWSSymbols*http://msdl.microsoft.com/download/symbols

我的symbol文件放在C:WINDOWSSymbols目录下,然后添加了环境变量:
在我的电脑属性->高级->系统变量那里设置
变量名:_NT_SYMBOL_PATH
变量值:C:WINDOWSSymbols

然后reload,出现如下提示:

lkd> .reload
Connected to Windows XP 2600 x86 compatible target, ptr64 FALSE
Loading Kernel Symbols
................................................................................................................
Loading User Symbols
...................................................................
Loading unloaded module list
..........

然后输入命令:u PspTerminateProcess,终于有结果了:

805c863e 8bff mov edi,edi
805c8640 55 push ebp
805c8641 8bec mov ebp,esp
805c8643 56 push esi
805c8644 64a124010000 mov eax,dword ptr fs:[00000124h]
805c864a 8b7508 mov esi,dword ptr [ebp+8]
805c864d 3b7044 cmp esi,dword ptr [eax+44h]
805c8650 7507 jne nt!PspTerminateProcess+0x1b (805c8659)

原文地址:https://www.cnblogs.com/Bryantly2rase/p/4675138.html