windbg+虚拟机内核调试过程

上传人:d**** 文档编号:118346189 上传时间:2022-07-11 格式:DOCX 页数:8 大小:462.83KB
返回 下载 相关 举报
windbg+虚拟机内核调试过程_第1页
第1页 / 共8页
windbg+虚拟机内核调试过程_第2页
第2页 / 共8页
windbg+虚拟机内核调试过程_第3页
第3页 / 共8页
点击查看更多>>
资源描述
使用 Virtual PC 进行 Windows 内核调试的详细过程使用WinDbg进行Windows内核调试通常需要两台计算机,一台是Debuggee, 台作为Debugger,又成为Host。使用Virtual PC可以在同一台电脑上进行内核 调试,对于某些调试任务来说还是非常有用的。下面以Virtual PC 2004为例,介绍一下利用Virtual PC进行Windows内核调 试的详细过程。1,下载并安装 Virtual PC 2004,从略。2, 启动Virutal PC Console (控制台),创建一台新的虚拟PC,安装向导的提 示配置硬盘、内存等参数。3, 在刚才创建的虚拟PC上安装操作系统,这个操作系统应该是你要调试的 Windows 版本。比如你想调试你的驱动程序在 Windows Server 2003上出现的问 题,那么就安装 Windows Server 2003。我们以 Windows 2000 为例。4, 配置虚拟PC的串行口,在Virtual PC的控制台中选择Windows 2000,然后 点击 Settings 按钮弹出设置对话框,然后在左侧的列表中(如下图)选择 COM1。右侧选择Named Pipe选项,即使用命名管道来模拟串行口,然后输入管道的完 整名称:.pipecom_l, com_l可以为其它名称,但是前面的部分应该保持不 变。5, 启动虚拟PC中的Windows 2000,然后进入命令行窗口,执行如下命令以便 在启动菜单中增加调试选项: c:cdattrib -r -hedit boot.ini然后将其最末一行复制,并加入调试选项,成为为如下状态-JgJ x|iJ22:16CHi Debug-j.n x|厘 C:WINNT5ystem32cmd.eHe - edit boot.iniFl-HelpLine:%CoL:i3indousProfessiGnal* /fastdetectndows 2999 Professional1 /Fastdetect /debug /debugport =coml /baudrate =5760_fF険f象(可用磁盘空间:14.4 GB) 涣开贻| 瞬辔 | Debugyc60.idb:vc60File? EditU 宜Opt 咗 ns Helpi亠七亦+ _| Program Files+ 二 viewer+ 二 ixiincmd+ 二bxiindbgJ二J WINNT- VMAddition (D:) 逵1控制面板摩网上邻居l.MB二我的电脑6,在虚拟 PC 中选择重新启动 Windows 2000,当出现启动菜单时,按方向键使 其停止自动计时,等待在这里。7,在主机(debugger)上准备启动WinDbg,考虑每次输入命令行参数太麻烦, 所以建议建立一个如下内容的批处理文件,并将其放到与WinDbg.exe同位置的 目录中。windbg -k com:pipe,port=.pipecom_1 8,运行批处理文件,使其也进入等待状态:9, 切换到虚拟PC窗口,选择带有“Debug Enabled”的一项然后回车启动。10, 切换到WinDbg窗口并观察,如果一切顺利,那么会有如下类似信息输出:Connected to Windows 2000 2195 x86 compatible target, ptr64 FALSE Kernel Debugger connection established.Symbol search path is: SRV*c:symbols* Executable search path is:Windows 2000 Kernel Version 2195 UP Free x86 compatible Kernel base = 0x80400000 PsLoadedModuleList = 0x8046a4c0 System Uptime: not available11,见到如上信息就说明WinDbg已经与虚拟PC中运行的Windows 2000成功建 立调试对话了。如果想感受一下将Windows控制于股掌之中的快感,那么就按下 Ctrl+Break,随着按键发出,Windows 2000会被立刻定住。WinDbg中会显示如 下信息:* * You are seeing this message because you pressedeither* CTRL+C (if you run kd.exe)or,* CTRL+BREAK (if you runWinDBG),* on your debugger machines keyboard.* THIS IS NOT A BUG OR A SYSTEMCRASH * If you did not intend to break into the debugger, press the g key, then * press the Enter key now. This message might immediately reappear. If it * does, press g and Enteragain. * *此时WinDbg的命令提示符区会显示一段时间* BUSY * (或者其它无效状态,老本 本的WinDbg),这是因为WinDbg在寻找调试符号。1(lKEEffLtfaO533?7eurss*7H7职.址应序i百円沾汨阳 Microsoft iDcrpas-MlDn敷梆.3删照跆內剰孵樽鬻训帀咖n JWG CH -*牙凹婆A蚀职朋阻 解*Windows 2oooProfessional莊于WT搀K初蛀Ki匚rosoE t (R) yindaTS Tiehu.g-ai Cksrrig-ht (c) Hicrc-raE t Cozp*?quiie coinqthis*CTRE-tC itpou run.kmCTRLiaEEAJ:(it 加从i* 口m your腳匚bine刊53訂花 5d OE b? 0? 50 E1 7 对DgM言勺94 fl t 66 3b H曹占圧ii nA d弭 ici在你非常熟悉以上过程之后,其实可以不完全拘泥以上过程的, 比如可以先让 Windows 2000 以调试选项运行起来,然后再运行 WinDbg。最后再介绍几种常见的失败情况: 1)启动WinDbg,但是出现下图所示的错误信息,Win32 error 2,即指定的文 件名找不到,这是因为虚拟PC还没有启动,还没有创建这个管道 .pipecom_1,系统中不存在这样的文件。应该运行虚拟PC,哪怕只到启动 选项也可以,便不会再有这个错误了。posted on 2006 年 4 月 27 日 21:19 由 Raymondmulti(0)disk(0)rdisk(0)partition(1)WINDOWS=Microsoft Windows XP Professional - debug /noexecute=optin /fastdetect /debug /debugport=com1 /baudrate=115200VM 虚拟机安装调试方法一.安装文件:VMware 安装路径:C:Program FilesWMwareWMware WorkstationSymbols (代码库)安装路径:D:toolsSymbolsWinDbg 安装路径: C:Program FilesDebugging Tools for Windowswindbg.exe 虚拟 Xp 安装路径: E:vmxp驱动代码所在位置: D:SfiltersysVMware 中的工具:打开 VMware 中的 VM 菜单一In stall VMware tools二. 安装VMware,在安装winXp并进行以下配置,可以在window下对虚拟机调试:1. 在VMware的WinXp目录(E:vmxp)下找到winxppro.vmx文件,加入以下的语句,为 提高效率。vmmouse.present = FALSEsvga.maxFullscreenRefreshTick = 52. 在VMware的WinXp中添加串口设备Serial Port (打开VMware选择WinXp进行操作) .pipecom_1This end is the serverThe other end is a virtul machineAdvanced Yield CPU on poll 要选中3. 在 WinDbg 的快捷方式点右键-属性-目标 中加入C:Program FilesDebugging Tools for Windowswindbg.exe -k com:port=.pipeco m_1,baud=11520,pipe4. 启动VMware的WinXp,在它的c:boot.ini文件中加入 multi(0)disk(0)rdisk(0)partition(1)WINDOWS=Microsoft Windows XP Professional -debug /fastdetect /debug /debugport=com1 /baudrate=1152005. 在本机上加“系统环境变量”_NT_SYMBOL_PATHD:toolsSymbols三. 运行步骤:1. 启动 Win Dbg(1) 加载 Symbol 的路径(菜单 File-Symbol File Path D:toolsSymbols;D:Sfiltersy sobjchki386)(2) 加载 Source 的路径(菜单 File-Source File Path D:Sfiltersys)2. 启动虚拟机,选择 debug四.在 winDbg 中常用的命令下断点:bp 地址也可bp函数名列出断点: bl清除断点: bc 断点号重新加载: .reload列出符号库: lm加载符号库: ld看结构体: dt 结构体注以上的路径都是我自己安装的路径,主要为了说明时方面,不是一定要安装在那,呵 呵
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!