2011-11-17 68 views
4

我的程序中出現了一個可能來自第三方庫,microsoft.sharepoint.client.runtime.dll的stackoverflow異常。無法在windbg中讀取崩潰轉儲

使用adplus創建崩潰轉儲,我面臨着我掙扎着從它那裏得到任何信息時,我WinDbg打開它的問題。這是我得到的迴應:

> 0:000> .restart /f 

Loading Dump File [C:\symbols\FULLDUMP_FirstChance_epr_Process_Shut_Down_DocumentumMigrator.exe__0234_2011-11-17_15-19-59-426_0d80.dmp] 
User Mini Dump File with Full Memory: Only application data is available 

Comment: 'FirstChance_epr_Process_Shut_Down' 
Symbol search path is: C:\symbols 
Executable search path is: 
Windows 7 Version 7601 (Service Pack 1) MP (8 procs) Free x64 
Product: Server, suite: Enterprise TerminalServer SingleUserTS 
Machine Name: 
Debug session time: Thu Nov 17 15:19:59.000 2011 (UTC + 2:00) 
System Uptime: 2 days 2:44:48.177 
Process Uptime: 0 days 0:13:05.000 
.........................................WARNING: rsaenh overlaps cryptsp 
.................WARNING: rasman overlaps apphelp 
...... 
..WARNING: webio overlaps winhttp 
.WARNING: credssp overlaps mswsock 
.WARNING: IPHLPAPI overlaps mswsock 
.WARNING: winnsi overlaps mswsock 
............ 
wow64cpu!CpupSyscallStub+0x9: 
00000000`74e42e09 c3    ret 

任何想法,如何從轉儲獲取更多信息,或如何使用它尋找到我的計算器錯誤是發生?

回答

11

您面臨的問題是該進程是32位,但是您在64位上運行,因此您的轉儲是64位轉儲。要使用轉儲您必須運行以下命令:

.load wow64exts 
.effmach x86 
!analyze -v 

最後一個命令應該給你一個有意義的堆棧跟蹤。

+0

爲應對後期OK對不起,我發現這個問題,但這應該幫助我沒有少...但你的想法似乎不錯 – Billybonks

+0

,幫助我剛纔!非常感謝 :) – malkia

0

你沒有提到你的代碼是否管理或不受管理。假設它是非託管的。在調試器:

.symfix 
.reload 
~*kb 

翻閱所有線程的調用堆棧,並確定導致SO線程。使用SO很容易識別線程,因爲調用堆棧會很長。使用命令~<N>s切換到該線程,其中是線程號,使用命令k 200轉儲更多調用堆棧以轉儲最多200行調用堆棧。在調用堆棧的最底部,您應該能夠看到源自嵌套循環的代碼。

如果您的代碼被管理,請使用SOS擴展來轉儲調用堆棧。

相關問題