dia-sdk

    1热度

    1回答

    我目前正在使用DIA SDK从PDB文件中获取一些非常有用的信息......现在,基本问题是:我可以用多大的功能去做?最佳的做法是能够把所有的东西都放到抽象的语法树中去......这甚至可能是远程可能的吗?如果没有,我可以使用调试数据分析多远?

    1热度

    1回答

    我正在构建一个处理我的VC++源代码的工具。为此,我需要获取包含局部变量名称及其代码使用的类型的符号列表。我知道Visual C++ 2010已经提供了一个.bsc文件,它允许对象浏览器快速定位符号。但这是一个交互式工具。我需要获取文件中符号的列表。是否有任何工具可以让我们以编程方式获得我们自己的VC++源代码中使用的符号列表? 我试过微软提供的Debug Interface Access SDK

    0热度

    2回答

    我正在使用DIA Sdk从PDB文件中提取一些信息。我创建了非com的DiaSourceAlt对象,所以我必须使用LocalFree释放字符串。 以下代码片段在x86中正常工作,但在x64上,LocalFree调用会损坏堆。 IDiaSymbol *lpSymbol; BSTR bStrName; ... hRes = lpSymbol->get_undecoratedNameEx(0x8

    2热度

    1回答

    目标:我试图列出包含在pdb文件中的所有函数的地址。 现行办法:我发现DIA SDK,我修改dia2dump例如:https://msdn.microsoft.com/en-us/library/hd8h6f46.aspx 我添加了一个新功能: bool DumpFunctionsNm(IDiaSession *pSession) { IDiaEnumSymbolsByAddr *pE

    0热度

    1回答

    我目前正在将我使用DIA SDK检索的PDB文件中的大量信息转储到XML文件中,以便我可以使用该信息来显示有关项目结构的信息等。 用于命名XML节点,我有枚举的值转换为字符串,然后将其用于所述节点平凡函数: string symTagTypeToString(DWORD type) { string symTagTypename = ""; switch(type) { case Sym

    0热度

    1回答

    我正在使用DIA SDK来枚举COM二进制文件(dlls/exes)的类型和接口。 但get_guid总是为该组件内使用的每个类(CoClass &接口)返回Bad Ptr(0x0000)? 任何其他的方式,我们可以通过共同课程和界面的pdb得到guid。 问候 乌斯曼

    0热度

    1回答

    我想确定使用.pdb和DIA SDK的.exe的静态调用图。不幸的是,当增量链接时,使用dia2dump示例时,函数调用的增量蹦床thunk不会显示出来。 如果运行与调试和增量链接链接dia2dump样品(或简单的一个here)时,将调用wprintf或printf没有任何功能的符号转储显示出来。但是,如果您禁用增量链接,他们会这样做。 有什么办法通过DIA获得函数使用的增量蹦床吗?或者我应该破解

    2热度

    1回答

    创建一个将对PDB文档中定义的结构进行解码的模块;任何人都可以提供一个模块,从PDB文档中提取所需的调试符号吗?谢谢。

    0热度

    1回答

    如何让DIA释放它在pdb文件上的锁定? 我加载一个pdb并创建一个会话,如下所示,它一切正常,我可以使用会话从pdb获取数据。 当我完成pdb后,我释放会话和DiaSource,但DIA仍然对pdb文件有锁定,直到我的应用程序退出时,我无法删除资源管理器中的pdb文件。我如何告诉DIA释放pdb文件的锁定? CoCreateInstance(__uuidof(DiaSource), N

    1热度

    3回答

    我试图导入微软的SDK DIA为使用.NET: call "%VS90COMNTOOLS%\vsvars32.bat" midl /I "%VSINSTALLDIR%\DIA SDK\include" "%VSINSTALLDIR%\DIA SDK\idl\dia2.idl" /tlb dia2.tlb tlbimp dia2.tlb 这似乎在大多数情况下正常工作,不同之处在于,由于某种原