前言:
现时兄弟们对“windows内核调试教程”大体比较讲究,咱们都需要知道一些“windows内核调试教程”的相关内容。那么小编在网上汇集了一些有关“windows内核调试教程””的相关文章,希望我们能喜欢,朋友们一起来学习一下吧!Windows内核开发,调试时会造成整个操作系统中断卡死,需要双机做调试。Parallels Desktop是Mac os上最受欢迎的虚拟机,我想试试在PD搭建Windows内核开发的调试环境。经过努力,成功实现了Windows内核调试环境的搭建。过程中遇到比较大的坑,特此记录。
0x01 为什么要用串口对接?
试了下用网络对接,显示不支持网卡:
也尝试过用VirtualBox的网卡,打算做异构调试,网卡检查,一样的结果,只能作罢,转向用串口对接。
0x02 目标机器上的配置虚拟机配置解锁添加串口选择串口添加插口(名字随意起)选择客户端模式操作系统配置
用管理员启动PowerShell,设置调试模式、串口和波特率:
bcdedit /debug onbcdedit /dbgsettings serial debugport:1 baudrate:115200
此时如果重启,重启后在设备管理看不到串口设备:
0x03 主机上的配置虚拟机配置
和目标机器的配置基本一样,注意两个点:
插口名字两边一致模式为服务器
操作系统配置
开机后,在设备管理中看到串口设备:
设置波特率:
用管理员账号启动PowerShell,用它启动Windbg:
PS C:\Program Files (x86)\Windows Kits\10\Debuggers\x64> .\windbg.exe -k com:port=com1,baud=115200
等待连接:
0x04 开机
主机处于等待连接状态时,目标机器开机或重新开机:
此时主机上windbg会有反应:
目标机器则处在半卡死状态。
继续等待……
连接成功了:
0x05 后记
最初想用网络对接,《Windows内核编程》(Windows Kernel Programming)这本书也是推荐网络连接,无奈网卡不支持。试了很多遍,macbook pro慢,加上pd也慢,中间还试过virtualbox(这个家伙更慢),在上面安装操作系统等各种操作,这个来环节前后花了大几个小时。
配串口时,我没理解Pd的“模式”,加上bcdedit /debug on后目标机器串口不见,且开机提示串口被占用无法连接,有一定误导,在这个环节又花了几个小时。
我把过程中比较有歧义的、耗时的点做了标注,希望对有需要的人有所帮助。
标签: #windows内核调试教程