关于windbg调试符号表配置路径错误的问题探讨

来源:互联网 发布:mysql无法删除表 编辑:程序博客网 时间:2024/06/06 10:53

 

打开windbg.exe 开始进行‘内核调试’(kernel debug)时,
命令行窗口输出错误提示 :
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
.........................

当在命令行中输入!process 0 0命令时,output窗口输出内容为:
lkd> !process
NT symbols are incorrect, please fix symbols

以上信息说明 符号文件(symbol files)与当前调试的系统版本不符 或者 符号文件路径设置错误

在下载符号文件时,应该先确定我们将要调试的系统的版本:如版本为xp_sp3_enu,则下载相应的符号文件:WindowsXP-

KB936929-SP3-x86-symbols-update-ENU.exe。如果版本为中文版,则下载相应的CHS版。

下载了符号文件后,解压到个人指定的文件夹-"x:/symbols_folder"。
然后,开始打开windbg调试前,设定系统环境变量'_NT_SYMBOL_PATH',值为符号文件目录x:/symbols_folder。

(windbg中帮助文件如是写:Before you start the debugger, use the _NT_SYMBOL_PATH and _NT_ALT_SYMBOL_PATH environment variables to set the path. The symbol path is created by appending _NT_SYMBOL_PATH after _NT_ALT_SYMBOL_PATH.)
打开windbg调试前,按下ctrl+s打开"symbol file path"项配置符号文件路径,可填入

x:/symbols_folder;srv*x:/symbols_folder*http://msdl.microsoft.com/download/symbols
其中不同的路径用分号(;)分隔。以上设置srv*x:/symbols_folder*http://msdl.microsoft.com/download/symbols的原因为,当

我们下载下来的符号文件x:/symbols_folder中有缺少或者损坏的文件时,windbg因找不到对应文件而报错(自己就因这个问题而

浪费了大量时间去查错,经过反复设置均不能解决.后来从目录中查到是ntdll.pdb与ntkrnlmp.pdb两个文件不符),当在路径中加入

srv*x:/symbols_folder*http://msdl.microsoft.com/download/symbols后,当windbg找不到对应的符号文件时,就会自动连接

到http://msdl.microsoft.com/download/symbols,把缺少的东西下载到x:/symbols_folder。下载期间,我们应耐心等待(时间

的长短视网速及缺少文件数多少而定,整个symbols压缩文件164M。自己下载下来的符号文件中就因ntdll.pdb与ntkrnlmp.pdb不符

而总是报错),之后,动人的一面开始展现:
Connected to Windows XP 2600 x86 compatible target, ptr64 FALSE
Symbol search path is:

F:/sys_symbols/;F:/sys_symbols;SRV*f:/sys_symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
*******************************************************************************
WARNING: Local kernel debugging requires booting with kernel
debugging support (/debug or bcdedit -debug on) to work optimally.
*******************************************************************************
Windows XP Kernel Version 2600 (Service Pack 3) MP (2 procs) Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp_sp3_gdr.090804-1435
Kernel base = 0x804d7000 PsLoadedModuleList = 0x805634c0
Debug session time: Sat Mar 20 22:07:50.656 2010 (GMT+8)
System Uptime: 0 days 3:40:45.403


小结:

1. windbg符号文件路径搜索的两个位置:环境变量中的_NT_SYMBOL_PATH设置及windbg中的"symblos file path";

2. 设置srv*x:/symbols_folder*http://msdl.microsoft.com/download/symbols 路径是保证我们能快速正确使用windbg的法

门,呵呵。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子上学爱说话怎么办 孩子抢玩具打人怎么办 生气就像打人怎么办 小孩总喜欢打人怎么办 小孩性格好翘怎么办 一岁小宝宝打人怎么办 小孩子老喜欢打人怎么办 孩子被大人欺负怎么办 小孩识字量少怎么办 父母打架孩子该怎么办 小孩嘴唇里面烂怎么办 幼儿园小朋友很调皮怎么办 幼儿园小朋友上课调皮怎么办 孩子误冲游戏怎么办 遇到别的熊孩子怎么办 幼儿园遇到熊孩子怎么办 高铁上遇到熊孩子怎么办 幼儿爱打人家长怎么办 妈妈爱打孩子怎么办 35儿童爱打人怎么办? 一岁半宝宝太调皮怎么办 儿子高一不听话怎么办 小孩说了不听话怎么办 我的妈妈文盲怎么办 电脑键盘反拼音怎么办 小孩学习态度差怎么办 孩子不好好上学怎么办 小孩读书态度不好怎么办 幼儿园孩子不认识数字怎么办 一年级孩子拼音很差怎么办 孩子的拼音不好怎么办 小孩不会拼拼音怎么办 小孩拼音学不会怎么办 儿童l发音不准怎么办 小孩发音不标准怎么办 拼音l发音不准怎么办 孩子拼音声调分不清怎么办 小孩gk读成dt怎么办 拼音音调学不会怎么办 会拼音不会打字怎么办 大人拼音学不会怎么办