Windows内核调试:符号文件和Windbg的安装与环境配置
2007-09-21 18:10
896 查看
[align=center]Windows内核调试:符号文件和Windbg的安装与环境配置[/align]
[align=center]flyingstarsoul[/align]
[align=center]2007-9-21[/align]
内核调试:
内核调试可以帮助我们查看内核的内部数据结构,跟踪内核中的函数,从而探查Windows的内部机理。内核调试工具有Microsoft的Windows调试工具箱、Compuware NuMega的SoftIce、www.sysinternals.com上的LiveKD等等。
内核调试所需的符号文件:
符号文件包含了函数和变量的名称,由链接器产生,在调试过程中被用来引用和显示这些名称。为了使用任何一个内核调试工具来查看内核数据结构,必须首先至少获得内核映像Ntoskrnl.exe的正确的符号文件,即二者版本完全匹配。利用Microsoft的按需符号服务器,可以得到当前调试所需的正确版本,首先需要设置环境变量来指定符号文件的路径。
假如你想把符号文件存放在C:/WINDOWS/Symbols目录下,环境变量设置如下:
系统环境变量名:_NT_SYMBOL_PATH
本例变量值:srv*C:/WINDOWS/Symbols*http://msdl.microsoft.com/download/symbols
其中,http://msdl.microsoft.com/download/symbols是Microsoft符号服务器。当运行内核调试器并在需要符号文件的时候,将连接到该服务器下载正确的符号文件。可以下载工具 LiveKD放到Windbg(见下文)安装目录下,第一次在命令行运行Livekd.exe,将会自动下载符号文件到指定的目录(耗时长,勿关闭命令行窗口,否则可能出现错误,导致符号文件不能正常使用)。
Microsoft Windows调试工具箱:
有命令行版本(KD.exe)和图形界面版本(Windbg.exe),可以到http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx下载。有三种类型的内核调试类型:
Ø 打开一个崩溃转储文件。当Windows系统崩溃的时候会产生这样的文件。
Ø 连接到一个正在运行的系统上,检查该系统的状态或设置断点来调试设备驱动程序代码。一般要求有两台计算机——目标计算机(被调试系统)和控制主机(运行调试器),本机+虚拟机调试亦可。操作细节超出本文范围。
Ø 对于Windows XP和Windows Server2003,可以连接到本地系统上来查看系统状态,称为本地内核调试。方法是:安装Windbg后,选择“File”菜单的“Kernel Debug”菜单项,再点击“Local”标签,再点“OK”按钮。在本地内核调试模式下,有些命令不能正常工作(如查看内核栈、用.dump命令创建一个内存转储)。当基本的本地内核调试功能不能工作的时候,可以用www.sysinternals.com上的免费工具LiveKD.exe。
参考文献:
[1] 深入解析Windows操作系统(第4版),2007.
[2] http://www.microsoft.com.
[align=center]flyingstarsoul[/align]
[align=center]2007-9-21[/align]
内核调试:
内核调试可以帮助我们查看内核的内部数据结构,跟踪内核中的函数,从而探查Windows的内部机理。内核调试工具有Microsoft的Windows调试工具箱、Compuware NuMega的SoftIce、www.sysinternals.com上的LiveKD等等。
内核调试所需的符号文件:
符号文件包含了函数和变量的名称,由链接器产生,在调试过程中被用来引用和显示这些名称。为了使用任何一个内核调试工具来查看内核数据结构,必须首先至少获得内核映像Ntoskrnl.exe的正确的符号文件,即二者版本完全匹配。利用Microsoft的按需符号服务器,可以得到当前调试所需的正确版本,首先需要设置环境变量来指定符号文件的路径。
假如你想把符号文件存放在C:/WINDOWS/Symbols目录下,环境变量设置如下:
系统环境变量名:_NT_SYMBOL_PATH
本例变量值:srv*C:/WINDOWS/Symbols*http://msdl.microsoft.com/download/symbols
其中,http://msdl.microsoft.com/download/symbols是Microsoft符号服务器。当运行内核调试器并在需要符号文件的时候,将连接到该服务器下载正确的符号文件。可以下载工具 LiveKD放到Windbg(见下文)安装目录下,第一次在命令行运行Livekd.exe,将会自动下载符号文件到指定的目录(耗时长,勿关闭命令行窗口,否则可能出现错误,导致符号文件不能正常使用)。
Microsoft Windows调试工具箱:
有命令行版本(KD.exe)和图形界面版本(Windbg.exe),可以到http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx下载。有三种类型的内核调试类型:
Ø 打开一个崩溃转储文件。当Windows系统崩溃的时候会产生这样的文件。
Ø 连接到一个正在运行的系统上,检查该系统的状态或设置断点来调试设备驱动程序代码。一般要求有两台计算机——目标计算机(被调试系统)和控制主机(运行调试器),本机+虚拟机调试亦可。操作细节超出本文范围。
Ø 对于Windows XP和Windows Server2003,可以连接到本地系统上来查看系统状态,称为本地内核调试。方法是:安装Windbg后,选择“File”菜单的“Kernel Debug”菜单项,再点击“Local”标签,再点“OK”按钮。在本地内核调试模式下,有些命令不能正常工作(如查看内核栈、用.dump命令创建一个内存转储)。当基本的本地内核调试功能不能工作的时候,可以用www.sysinternals.com上的免费工具LiveKD.exe。
参考文献:
[1] 深入解析Windows操作系统(第4版),2007.
[2] http://www.microsoft.com.
相关文章推荐
- Windows内核调试:符号文件和Windbg的安装与环境配置
- Windows内核 - 调试:符号文件和Windbg的安装与环境配置
- Windows内核调试:符号文件配置
- Windows 预安装环境配置文件-磁盘配置[DiskConfig]
- Windows内核开发调试环境配置详解
- WinDBG+VMware调试内核 【虚拟机坏境下内核调试的安装和配置】
- VirtualKD+Windbg+vmware 极速调试+Windbg下载符号+windows 7本地内核调试
- Windows调试工具入门-3-WinDbg内核调试配置
- 第三章 Windows驱动编译环境配置、安装和调试
- 调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置 ------符号文件
- WinDbg+VMware windows内核调试环境搭建
- windows内核驱动之环境搭建-双机调试 wdk7600+win7/xp+windbg
- VirtualKD+Windbg+vmware 极速调试+Windbg下载符号+windows 7本地内核调试
- Windows调试工具入门-3-WinDbg内核调试配置
- 搭建Windows系统下php开发环境有很多种方式,比如LAMP的配置、php IDE和调试工具的选择等等。根据每个人喜好不同有很多配置方式。这里主要介绍的是利用XAMPP集成安装和配置apache、
- Windows调试工具入门4 - WinDbg内核调试配置
- Windows调试工具入门-3-WinDbg内核调试配置
- 第3章 Windows驱动编译环境配置、安装及调试
- 安装与配置windbg 的符号文件(转自一片文章的回复,回复者RegKiller)
- systemtap安装&内核调试环境配置