gpt4 book ai didi

c# - 使用 dia-sdk 从 microsoft pdb 文件加载数据

转载 作者:行者123 更新时间:2023-12-04 04:44:45 24 4
gpt4 key购买 nike

嗨,我正在尝试从 pdb 文件中读取数据

我遵循了 How do I use the MS DIA SDK from C#? 中的步骤并生成了程序集

问题是:在 MS pdb 文件上调用 dataSource.loadDataFromPdb 时,它会抛出 ComException(HRESULT: 0x806D000C)

我试过使用 dumpbin.exe/headers 但它以“未知格式”失败

在自生成的 pdb 上使用 .loadDataFromPdb 和 dumpbin 可以正常工作

IDiaDataSource dataSource = new DiaSourceClass();

//dataSource.loadDataFromPdb(@"D:\Symbols\System.Data.Entity.pdb"); // Fails

dataSource.loadDataFromPdb(@"D:\Symbols\myassembly.pdb"); // Success

IDiaSession session;

dataSource.openSession(out session);

var guid = session.globalScope.guid.ToString();

有没有另一种方法可以打开 MS pdb 文件,并专门提取 GUID

最佳答案

基于 info here 的一点数学建议 0x806D000C 对应于 E_PDB_FORMAT which MSDN has a description of :“试图访问一个过时格式的文件。”

基于这一点,我不得不问(是的,可能会迟到)……您还记得您尝试使用哪个版本的 Visual Studio 和 DIA 吗?对于 Microsoft 发送的那些 PDB,您的工具可能不是最新的,PDB 格式可能已更改。

关于c# - 使用 dia-sdk 从 microsoft pdb 文件加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18374023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com