كيف يمكنني معرفة ما مكالمة UnsafeNativeMethods.DispatchMessageA تقوم باستخدام windbg؟
سؤال
ولقد تعقب بلدي الجمود لهذا الموضوع ليس ضخ الرسائل بعد الآن، ولكن كيف لي أن أعتبر خطوة واحدة أبعد من ذلك ومعرفة ما يقوم به موضوع حاليا؟ أنا باستخدام WinDbg و عشوائي مناحي باستخدام! لا لم يعط لي anuthing حتى الآن
وشكرا جزيلا
أوسكار
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()
المحلول
!dumpstack
والحيلة، لطيفة تتبع مكدس الذاكرة المؤقتة مفصل في دلل غير المدارة
نصائح أخرى
kn100 م> سوف اعطيكم كومة الأصلي، ولكن يبدو انها تدعو <لأ href = "http://msdn.microsoft.com/en-us/library/ms644934٪28VS.85 ٪ 29.aspx "يختلط =" نوفولو noreferrer "> DispatchMessage ، وهو ما يعني أنه من المحتمل عالقة في معالج نافذة نافذة الهدف (أي" OnSize "حدث أو شيء من هذا في التعليمات البرمجية)
والكراك فتح البنية MSG حتى تتمكن من رؤية نافذة والرسالة التي يحاول إرسالها، ثم العثور على معالج الحدث المطابق في التعليمات البرمجية.