惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Recent Announcements
Recent Announcements
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
罗磊的独立博客
月光博客
月光博客
J
Java Code Geeks
A
About on SuperTechFans
Microsoft Security Blog
Microsoft Security Blog
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
U
Unit 42
C
Check Point Blog
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog

博客园 - atempcode

僵尸窗口 SCMBUG 邮件乱码的解决方法 在Eclipse里使用Visual Studio的快捷键 Subversion in 2010 The case of Trac installation won’t run Ad in Stackoverflow.com becomes annoying Importing notes in Google Notebook to Evernote 饭否mashup: Popfly入门 (二) 饭否mashup: Popfly入门 GIT vs SVN Which Parts of China Have You Been To? 黄秋生 美丽的梭罗河 偏光鏡用法: PL, CPL I do not like itunes 焦距 单镜反光相机 光圈 DSLR和DC的差异 Firefox的饭否Toolbar 1.1
Debugging Visualizer for UEFI type
atempcode · 2010-05-24 · via 博客园 - atempcode

2010-05-24 15:31  atempcode  阅读(482)  评论()    收藏  举报

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
    )
}

看看效果:

example


Item->Protocols,! 是用缺省的方法显示数据, Item->Protocols 就是用了我们的Visualizer 了, list里的成员以子节点的形式一一显示, 直观多了.