以前调试内核总是失败。今日成功。做个笔记。
其他的网上雷同的不做说明
(1):Symbol Search path:srv*C:\Windows\Symbols*http://msdl.microsoft.com/
download/symbols;E:\first\objchk_wxp_x86\i386
(2):Source File Path:E:\first
(3):之前的虚拟串口为串口2,但是按照网上通常的配置都是串口1的配置所以老是不成功,应该在虚拟机中配置如下:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Debug" /fastdetect /debugport=com2 /baudrate=115200
注意这里的debugport=com2指的是实际的串口。而winDug中不用变。里面指的的是com口
(4)windug: -k com:port=\\.\pipe\com_1,baud=115200,pipe
或其他的通用的配置
(5):先启动虚拟机选择调试模式进入,然后运行winDug快捷方式,连接的时候会停下来,这个时候点break.然后会继续运行。出现80528bdc cc int 3这样的类型提示。这个时候虚拟机停下来了。然后在windug中输入g,表示运行。这个时候虚拟机运行。windug忙碌。
(6):将编译后的sys和加载工具拷贝进虚拟机安装,点启动。如果在DriverEntry中设置了断点。则这个时候虚拟机会停下来。然后windug进入断点。按工具栏的步入和步过单步调试。
(7):用u看入口,用bp设置断点.如bp DriverUnload
或bp first!DriverUnload就会在DriverUnload函数设置一个断点
用bl查看所有断点
kd> bl
0 e f8ce4490 [e:\first\first.c @ 11] 0001 (0001) first!DriverUnload
用kd>bd 0删除断点
kd> bc 0清除断点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具