Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我目前正在使用 DIA SDK 从 PDB 文件中获取一些非常有用的信息......现在,基本问题是:我可以使用多深?最佳方案是能够将所有内容都归结为抽象语法树......这甚至可能吗?如果没有,我可以使用调试数据分析走多远?
DIA SDK 仅允许您通过 COM 接口访问 PDB 中可用的调试信息。为了让您大致了解,这类似于 Visual Studio 调试器可用的任何内容(符号、行号等)。这意味着,一般来说,如果调试器似乎知道某些事情,那么该信息应该可以通过 DIA SDK 获得。具体细节需要参考msdn中的在线文档。
具体来说,Visual Studio 内部的抽象语法树不能通过任何 api 获得——不仅仅是 DIA SDK。即使是局部变量类型的符号也无法通过 DIA SDK 枚举。
获取我的 VC++ 代码使用的符号列表