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

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
爱范儿
爱范儿
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
T
Tailwind CSS Blog
罗磊的独立博客
B
Blog
博客园_首页
A
About on SuperTechFans
有赞技术团队
有赞技术团队
V
V2EX
U
Unit 42
I
InfoQ
IT之家
IT之家
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
The Cloudflare Blog
H
Help Net Security

博客园 - 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里的成员以子节点的形式一一显示, 直观多了.