我正在尝试改进SymbolSort库,该库可使用DIA SDK读取PDB文件。 我需要将从目标文件读取的符号与从PDB读取的符号进行匹配。 问题是:给定IDiaSymbol变量,如何获得其真实姓名? 我对未经修饰的名称或人类可读的名称并不感兴趣,我需要的是整齐的名称,就像它在目标文件中 ...
我正在尝试改进SymbolSort库,该库可使用DIA SDK读取PDB文件。 我需要将从目标文件读取的符号与从PDB读取的符号进行匹配。 问题是:给定IDiaSymbol变量,如何获得其真实姓名? 我对未经修饰的名称或人类可读的名称并不感兴趣,我需要的是整齐的名称,就像它在目标文件中 ...
我正在尝试使用Debug Interface Access Windows库(DIA)中的IDiaDataSource::LoadDataFromPdb来从本地符号存储中读取符号文件(* .pdb),但是我没有找到任何东西来设置上述函数用来搜索的路径* .pdbs。 LoadDataForPd ...
我开始使用DIA SDK并使用以下简单代码: 如果我从Visual Studio IDE启动它,它断言与E_PDB_NOT_FOUND失败,即使我在没有调试的情况下启动它。 但是,如果我在IDE外部启动相同的程序,它可以正常工作并返回S_OK。 首先我认为这是一个工作目录问题,所以我 ...
SymTagFuncDebugStart和SymTagFuncDebugEnd的文档指出,调用IDiaSymbol::get_lexicalParent将返回用于封闭函数的符号。 我将其解释为将得到一个IDiaSymbol其get_symTag方法将返回SymTagFunction 。 但是 ...
嗨,我试图从pdb文件中读取数据 Ive遵循了“ 如何使用C#中的MS DIA SDK”中的步骤。 并生成了程序集 问题是:在MS pdb文件上调用dataSource.loadDataFromPdb时,它将引发ComException(HRESULT:0x806D000C) ...
如何使DIA释放对pdb文件的锁定? 我加载pdb并创建一个会话,如下所示,并且一切正常,我可以使用该会话从pdb获取数据。 当我完成pdb时,我释放了会话和DiaSource,但是DIA仍然对pdb文件具有锁定,直到我的应用程序退出,我才能在资源管理器中删除pdb文件。 我如何告 ...
我正在使用DIA Sdk从PDB文件中提取一些信息。 我创建了非COM DiaSourceAlt对象,因此必须使用LocalFree释放字符串。 以下代码在x86上可以正常工作,但是在x64上,LocalFree调用会破坏堆。 有什么建议吗? (我正在使用msdia90.dll ...
我目前正在使用DIA SDK从PDB文件中获取一些非常有用的信息...现在,基本的问题是:我可以做到这一点? 最佳的方法是将所有内容都简化到抽象语法树中……这甚至可以实现吗? 如果没有,我可以使用调试数据分析走多远? ...
我目前正在将使用DIA SDK检索的PDB文件中的很多信息转储到XML文件中,以便随后可以使用该信息来显示有关项目结构的信息。 为了命名XML节点,我有一个简单的函数,它将枚举的值转换为字符串,然后将其用于该节点: 此函数包含此处列出的所有值: http : //msdn.micr ...
我正在构建一个处理VC ++源代码的工具。 为此,我需要获取一个符号列表,包括局部变量名称及其代码使用的类型。 我知道Visual C ++ 2010已经提供了一个.bsc文件,该文件允许对象浏览器快速定位符号。 但这是一个交互式工具。 我需要获取文件中符号的列表。 是否有任何工具可以 ...
我正在尝试使用.pdb和DIA SDK确定.exe的静态调用图。 不幸的是,当进行增量链接时,使用dia2dump示例时,函数调用的增量蹦床程序不显示。 如果您运行并链接了dia2dump示例(或此处的简单示例)并启用了调试和增量链接,则对wprintf或printf调用不会显示在任何函 ...
我正在使用C#中的分析工具。 它使用DIA SDK分析C ++ PDB文件,并列出所有类,函数,字段等。 我想知道类的文件夹名称,并列出类,函数等文件夹。 我已经在IDiaSymbol上看到了所有属性/功能,但是在类的文件夹名称上找不到任何内容。 如何使用DIA SDK获取C + ...
我使用DIA SDK枚举COM二进制文件(dll / exe)的类型和接口。 但是,对于该组件中使用的每个类(CoClass和接口),get_guid总是返回Bad Ptr(0x0000)吗? 通过其他方法,我们可以从co类和接口的pdb中获取guid。 问候乌斯曼 ...
如果它通过DIA SDK实现vtable函数,我们是否可以提取该类型的vtable的起始基地址? 问候,乌斯曼 ...
我需要专门过滤所有用户导入的dll。 DIA SDK在SymTagCompiland下提供了所有模块,其中包括所有内核和其他未明确链接的导入。 我只需要在运行时或编译时显式链接的那些相关的Dll(模块)(在项目配置的链接器输入区域中提到)。 我该如何过滤? 问候,乌斯曼 ...
给定一个程序集及其pdb,如何使用.Net获取行号和方法的路径? ...
有谁知道如何从 PDB 文件中获取 GUID? 我正在使用 Microsoft 的调试接口访问 SDK http://msdn.microsoft.com/en-us/library/f0756hat.aspx 并在尝试加载 PDB 时传入我期望的 GUID 时获取 E_PDB_INVALI ...
我有一个 C++ 应用程序的 .pdb 程序数据库,该应用程序在 Windows VS2005 上调试编译。 我使用 DIA SDK 查找 function 名称,但我似乎无法检索符号的文件名。 我需要打开一些开关吗? 这有用吗?! ...
DIA SDK和DbgEng(不是DbgHelp)是否既基于COM,又基于DbgHelp? 如果是这样,如何从C#应用程序调用DbgEng API。 我可以使用idl文件(生成的tlib文件为tlibimp)将DIA库导入C#项目,但是DbgEng没有任何IDL文件。 我看到了Db ...
我正在尝试使用 C# 中的 Microsoft调试接口访问 SDK 。 这是与 Visual Studio 一起安装的,但文档似乎没有提到您如何从 C# 使用它。 我在互联网上找到了示例代码,但没有关于如何链接到 DIA SDK 的信息。 即我不能将它作为程序集导入。 我认为我不必将它包含到托管 ...