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 這似乎在大多數情況下正常工作,不同之處在於,由於某種原