Windows调试符号配置

来源:互联网 发布:java xml文件解析 编辑:程序博客网 时间:2024/06/04 19:47

 近来准备学习一些软件调试技术方面的知识。

调试是一个实践性非常强的技术,没有亲身经历一番,不会有真实的感受。

调试可分为系统内核调试和用户应用层面两种情况。

对于Windows系统内核级调试,需要从Windows调试符号器上把当前使用Windows内核版本对应的调试符号下载,并成功配置。

调试时目前可参考的工具有WinDbg和net2005平台

一、Windbg的配置

1、首先下载成功Windbg

2、再下载livekd.exe,该工具用来调试内核,似乎是调用KD和Windbg来操作的,属命令行态运行程序。

3、在系统环境变量下配置:

_NT_SYMBOL_PATH=srv*D:/WINDOWS/Symbols*http://msdl.microsoft.com/download/symbols

其中"D:/WINDOWS/Symbols"目录是存放Kernel内核调试符号的文件夹

 

4、此时运行windbg并选择kernel debug...后揭示:

Microsoft (R) Windows Debugger Version 6.9.0003.113 X86
Copyright (c) Microsoft Corporation. All rights reserved.

Unable to read head of debugger data list
Connected to Windows XP 2600 x86 compatible target, ptr64 FALSE
Symbol search path is: srv*D:/WINDOWS/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 2) MP (2 procs) Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp_sp2_gdr.070227-2254
Kernel base = 0x804d8000 PsLoadedModuleList = 0x8055d700
Debug session time: Sat Jul 26 14:12:45.875 2008 (GMT+8)
System Uptime: 0 days 4:41:53.583

 

此时光标处于 lkd>  命令符状态,应是符号表配置成功状态

 

二、net2005的调试符号配置

1、net2005运行后,选择 工具->选项

2、选择调试->符号 属性页

三、在符号文件(.pdb)位置(L):  中输入:

        http://msdl.microsoft.com/download/symbols

       在“将符号从符号服务器缓存到此目录(C):”中配置本机符号存放目录

       D:/WINDOWS/SYMBOLS

 

注:网络上搜到的net配置似乎是visual studio net2003及以前的配置方法,用到的srv*的语法在net2005环境下不需使用,若使用net会提示:指定符号服务器时不必使用“srv*”语法。只需输入UNC路径或URL