2012-01-17 12 views
8

मेरे पास एक क्रैश फ़ाइल है जहां मैं देख सकता हूं कि मेरे अपने VB6 उपयोगकर्ता नियंत्रण में से एक क्रैश के लिए ज़िम्मेदार है; यानी इसकी विधियों में से एक स्टैक ट्रेस का हिस्सा है और मैं जिम्मेदार रेखा देख सकता हूं।WinDbg में VB6 नियंत्रण-स्तर चर कैसे देखें?

यहां से, मैं इसके सदस्य चर की स्थिति का निरीक्षण करना चाहता हूं। मैं यह कैसे करु?

नोट: मेरे पास मेरे नियंत्रण के लिए निजी प्रतीक भी हैं। समस्या "मुझे" का निरीक्षण करने में सक्षम है। आदेश ! ऑब्जेक्ट address_of_Me चाल नहीं लगता है और इसलिए मुझे नुकसान हुआ है।

धन्यवाद।

+0

+1 मैं भी बहुत ज्यादा पता करने के लिए कि यह कैसे करना चाहते हैं – MarkJ

उत्तर

0

अच्छी तरह से, कोडमार्ट के पास आपके एप्लिकेशन पर ग्लोबल हैंडल इंस्टॉल करने का एक विकल्प है, तो पहले मॉड्यूल मुख्य या मास्टर फॉर्म को प्रोग्राम बंद करते समय लोड करें, तो SetUnhandledExceptionFilter पर कॉल करें।

ज़्यादा लंबा इसलिए पद्धतियां नाम y API कॉल

Public Sub InstallGlobalHandler() 
On Error Resume Next 

If Not lnFilterInstalled Then 
    Call SetUnhandledExceptionFilter(AddressOf GlobalExceptionHandler) 
    lnFilterInstalled = True 
End If 
End Sub 

Public Sub UninstallGlobalExceptionHandler() 
On Error Resume Next 

If lnFilterInstalled Then 
    Call SetUnhandledExceptionFilter(0&) 
    lnFilterInstalled = False 
End If 
End Sub 

इसके अलावा यहाँ है मॉड्यूल

- CopyMemory 
- SetUnhandledExceptionFilter 
- RaiseException 
' Public enums 
-EExceptionType 
-EExceptionHandlerReturn  
-Private Const EXCEPTION_MAXIMUM_PARAMETERS = 15 
' Private record structure 
-Private Type CONTEXT  
'Structure that describes an exception. 
-Private Type EXCEPTION_RECORD 
'Structure that contains exception information that can be used by a debugger. 
-Private Type EXCEPTION_DEBUG_INFO 
-Private Type EXCEPTION_POINTERS 

रिकॉर्ड संरचना y apis घोषणाओं एक संशोधित लो कॉपी कोड है कि How to route the exe exception back to VB6 app?

1

यह 10 साल हो गया है क्योंकि मुझे इसे वीबी 6 में करना था, लेकिन मुझे बहुत सारे प्रिंटर याद हैं। मेरे पिछले जीवन में प्रिंट स्टेटमेंट्स :)

मैं (लेकिन रिहाई कोड के लिए नहीं) डीबगिंग के लिए इस तरह की बातें करते थे

Sub MySub 
    On Error Goto ErrorTrap 
    Dim intX as integer 
    Dim intY as integer 

    ' do some horrible error here 

Exit Sub 

ErrorTrap: 
    Printer.Print "Error" 
    Printer.Print intX 
    Printer.Print intY 
    Printer.Print ... 

End Sub 
संबंधित मुद्दे