Debugging Visualizer for UEFI type
2010-05-24 15:31 atempcode 阅读(472) 评论(0) 编辑 收藏 举报UEFI的code里大量使用了double linked list, 每次跟踪时查看list node总是那么痛苦. 在Visual Studio里, autoexp.dat 可以定制对复杂类型的"可视化"查看. 这个文件是在 Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger 下, 不过我并不准备去直接修改它. 一个文档没有记载的小窍门是你可以写一个自己的定义文件, 放在任意路径下, 然后设置环境变量 _vcee_autoexp 指向这个文件. 记得这个文件要以以[Visualizer]开头.
下面就是我为_EFI_LIST_ENTRY写的Visualizer:
[Visualizer]
_EFI_LIST_ENTRY{
children(
#list(
head: $e.BackLink,
next: BackLink,
) : &$e
)
}
看看效果:
Item->Protocols,! 是用缺省的方法显示数据, Item->Protocols 就是用了我们的Visualizer 了, list里的成员以子节点的形式一一显示, 直观多了.