dbghelp

    1熱度

    1回答

    我可以通過調用dbghelp.dll的SymGetLineFromAddr64()來使用dbghelp.dll在給定地址獲取行信息。 它只給出該地址的源代碼信息(例如行號和文件名)。但是,在WinDBG中,我也可以獲得給定地址的彙編代碼。我不知道如何使用dbghelp.dll來做到這一點。如果不可能,我可以使用任何其他的DLL?

    0熱度

    1回答

    我一直在對Dbghelp進行一些研究,試圖確定是否需要通過更新它的麻煩。我目前的版本是6.12,沒有人有更改日誌6.12到6.13.X?或者,如果不是,你知道重要的事情是否改變了?

    0熱度

    1回答

    我正在構建一個符號服務,我希望能夠打印結構變量及其偏移量。我正在加載所需的pdb,並試圖找到適合給定掩碼的結構。例如,我想了解結構_RTL_CRITICAL_SECTION的詳細信息。 雖然使用windbg,我使用命令dt MSVCP120!_RTL_CRITICAL_SECTION,我得到的結構信息(正是我想要的)。但是,當我用我的代碼搜索符號: SymEnumSymbols(GetCurren

    0熱度

    2回答

    我試圖以編程方式生成堆棧跟蹤。當我的用戶發生崩潰時,特別是隨機的崩潰時,很難通過獲取轉儲過程來談論他們,以便我可以解決問題。在過去,一旦他們給我發送跟蹤信息,我會交叉引用其中的地址到Intermediate/foo.map文件以確定哪個功能是問題(是最好的方法嗎?) 我構建了一個庫從我在網上發現的各種例子中,輸出一個小型轉發器來使我的工作更輕鬆。我進行了一次崩潰,但是從小型轉儲文件獲得的堆棧跟蹤與

    1熱度

    1回答

    我使用dbghelp中的UnDecorateSymbolNameW來取消修飾Microsoft符號名稱。當使用UNDNAME_COMPLETE進行修飾時,符號名稱有時可能具有(我所瞭解的)一些編譯器附加信息。例如,一個可變符號有時可以有一個大括號,其中包含一個for關鍵字,後面跟着一個類/接口名稱,例如, SomeClass的:: 'vftable'{對 '富::酒吧'} 可有人告訴我,什麼名稱的

    1熱度

    1回答

    當我的程序崩潰時,它會從未處理的異常處理程序創建一個小型轉儲程序。我遇到的問題是人們向我發送崩潰轉儲,但是當我嘗試在Visual Studio 2010中打開它們時,它說它們已損壞(「轉儲文件的格式無效」)。我沒有在我的程序中分發dbghelp.dll,我需要嗎?我假設如果它是一個版本問題,Visual Studio會讓我知道並且不輸出上面的消息。 我用它來生成日誌的代碼是 LONG WINAPI

    0熱度

    2回答

    我找到了example,它使用調試器引擎API在轉儲中獲取PEB。這可能使用DbgHelp嗎?有現有的代碼使用DbgHelp來提取評論和異常信息。如果可能的話,希望從PEB獲取一些信息。

    0熱度

    1回答

    我構建了test.exe,它會使用MinidumpWriteDump生成.dmp文件,parser.exe用於讀取和打印該dmp文件中的信息。 在parser.exe中,我使用StackWalk64來獲取該dmp文件中所有線程的所有堆棧跟蹤。 但是現在我發現我只能得到比視覺工作室更少的堆疊。 我已經嘗試了所有可以在google,stackoverflow,codeproject中找到的解決方案,沒

    0熱度

    1回答

    可能重複: Why two functions print the same address? 我與PDB符號文件工作這對其進行處理(通過DBGHELP API)的應用程序。我遇到了一個奇怪的問題,即PDB文件將包含同一地址的多個不同的公共符號條目! 例如,使用Windows 7(64位)的KERNEL32.DLL(WOW64)微軟最新的PDB文件,我們可以轉儲以下信息,請參閱同一個地址0x10b

    3熱度

    1回答

    我從.pdb文件由SymEnumSymbols看看我的函數的地址,該值是0x0100116e0, BOOL CALLBACK SymEnumSymbolsProc(PSYMBOL_INFO pSymInfo, ULONG SymbolSize, PVOID UserContext) { if(pSymInfo != NULL) { // Show the symb