2009-09-16 79 views
0

我已經追蹤了我的死鎖,並且不再抽出消息,但是我該如何更進一步,弄清楚線程目前正在做什麼?我使用的WinDbg和隨機遊動使用!不要也沒有給我anuthing到目前爲止我怎麼知道是什麼的UnsafeNativeMethods.DispatchMessageA通話使用的WinDbg在做什麼?

千恩萬謝

奧斯卡

0:057> !clrstack 
OS Thread Id: 0x17f8 (57) 
ESP  EIP  
1393f1ac 2070a64a [NDirectMethodFrameStandalone: 1393f1ac] System.Windows.Forms.UnsafeNativeMethods.DispatchMessageA(MSG ByRef) 
1393f1bc 04851c91 System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32, Int32, Int32) 
1393f258 04851276 System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext) 
1393f2a0 048507e3 System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext) 
1393f2d0 0485062f System.Windows.Forms.Application.Run() 

回答

1
!dumpstack 

的伎倆,好詳細的堆棧跟蹤到非託管的DLL

+0

+1,因爲我討厭看到沒有選票被接受的答案:) – 2009-10-02 06:22:21

0

KN100會給你本地棧,但它看起來就像它叫DispatchMessage,這意味着它可能卡在目標窗口的窗口處理程序中(即「OnSize」事件或代碼中的某個事件)

破解打開MSG結構以便您可以e窗口和它試圖發送的消息,然後在代碼中找到相應的事件處理程序。

相關問題