前面提到过,EDK2 后面更换了模拟器,每次编译的结果是 WinHost.exe。最近偶然发现,之前给出来的调试方法无效【参考1和2】。具体现象是运行之后遇到 DebugBreak会自动退出不会出现VS2015调试界面。经过研究,可以用下面的方法来实现源码调试:
- 编译 EmulatorPkg ,然后运行起来 WinHost.exe
- 打开 VS2015(需要管理员权限运行),选择 Debug -> Attach to Process
3.在出现的界面中选择 WinHost.exe
4.在WinHost 模拟器中发出 Break ,比如,使用【参考2】的代码,运行 rim 程序:
5.使用 F10 跳过中断,可以看到 Image.c 的代码:
参考:
- http://www.lab-z.com/stu204nt32day/
- http://www.lab-z.com/stu205/
可以搭配
https://marketplace.visualstudio.com/items?itemName=ErlandR.ReAttach
使用
噢 还有这样的工具,长见识。