Package winappdbg :: Module crash :: Class Crash
[hide private]
[frames] | no frames]

Class Crash


Represents a crash, bug, or another interesting event in the debugee.

Instance Methods [hide private]
 
__init__(self, event)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
 
__str__(self)
str(x)
(opaque)
key(self)
Generates an approximately unique key for the Crash object.
str
briefReport(self)
Returns: Short description of the event.
str
fullReport(self)
Returns: Long description of the event.
str
notesReport(self)
Returns: All notes, merged and formatted for a report.
 
addNote(self, msg)
Add a note to the crash event.
 
clearNotes(self)
Clear the notes of this crash event.
list( str )
getNotes(self)
Get the list of notes of this crash event.
listiterator
iterNotes(self)
Iterate the notes of this crash event.
bool
hasNotes(self)
Returns: True if there are notes for this crash event.

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__

Instance Variables [hide private]
None or str debugString
Debug string sent by the debugee.
int eventCode
Event code as defined by the Win32 API.
str eventName
Event code user-friendly name.
None or int exceptionAddress
Memory address where the exception occured.
None or int exceptionCode
Exception code as defined by the Win32 API.
None or str exceptionLabel
Label pointing to the exception address.
None or str exceptionName
Exception code user-friendly name.
None or str faultCode
Data pointed to by the program counter.
None or tuple of tuple( long, int, str, str ) faultDisasm
Dissassembly around the program counter.
None or str faultMem
Data pointed to by the exception address.
None or dict( int→ str ) faultPeek
Dictionary mapping guessed pointers at faultMem to the data they point to.
None or bool firstChance
True for first chance exceptions, False for second chance.
None or str labelPC
Label pointing to the program counter.
None or int lpBaseOfDll
Base of module where the program counter points to.
None or str modFileName
File name of module where the program counter points to.
list( str ) notes
List of strings, each string is a note.
int pid
Process global ID.
dict( str → int ) registers
Dictionary mapping register names to their values.
dict( str → str ) registersPeek
Dictionary mapping register names to the data they point to.
None or str stackFrame
Data pointed to by the stack pointer.
None or dict( int → str ) stackPeek
Dictionary mapping stack offsets to the data they point to.
None or tuple of tuple( int, int, str ) stackTrace
Stack trace of the current thread as a tuple of ( return address, frame pointer, module filename ).
None or tuple( str... ) stackTraceLabels
Tuple of labels pointing to the return addresses in the stack trace.
None or tuple( int... ) stackTracePC
Tuple of return addresses in the stack trace.
int tid
Thread global ID.
float timeStamp
Timestamp as returned by time.time().
Properties [hide private]
int pc
Value of the program counter register.
int sp
Value of the stack pointer register.
int fp
Value of the frame pointer register.

Inherited from object: __class__

Method Details [hide private]

__init__(self, event)
(Constructor)

 

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Parameters:
  • event (Event) - Event object for crash.
Overrides: object.__init__

__str__(self)
(Informal representation operator)

 

str(x)

Overrides: object.__str__
(inherited documentation)

key(self)

 

Generates an approximately unique key for the Crash object.

This key can be used as an heuristic to determine if two crashes were caused by the same software error. Ideally it should be treated as an opaque object.

Returns: (opaque)
Crash unique key.

briefReport(self)

 
Returns: str
Short description of the event.

fullReport(self)

 
Returns: str
Long description of the event.

notesReport(self)

 
Returns: str
All notes, merged and formatted for a report.

addNote(self, msg)

 

Add a note to the crash event.

Parameters:
  • msg (str) - Note text.

getNotes(self)

 

Get the list of notes of this crash event.

Returns: list( str )
List of notes.

iterNotes(self)

 

Iterate the notes of this crash event.

Returns: listiterator
Iterator of the list of notes.

hasNotes(self)

 
Returns: bool
True if there are notes for this crash event.

Instance Variable Details [hide private]

debugString

Debug string sent by the debugee.

None if unapplicable or unable to retrieve.

Type:
None or str

exceptionAddress

Memory address where the exception occured.

None if unapplicable or unable to retrieve.

Type:
None or int

exceptionCode

Exception code as defined by the Win32 API.

None if unapplicable or unable to retrieve.

Type:
None or int

exceptionLabel

Label pointing to the exception address.

None or invalid if unapplicable or unable to retrieve.

Type:
None or str

exceptionName

Exception code user-friendly name.

None if unapplicable or unable to retrieve.

Type:
None or str

faultCode

Data pointed to by the program counter.

None or empty if unapplicable or unable to retrieve.

Type:
None or str

faultDisasm

Dissassembly around the program counter.

None or empty if unapplicable or unable to retrieve.

Type:
None or tuple of tuple( long, int, str, str )

faultMem

Data pointed to by the exception address.

None or empty if unapplicable or unable to retrieve.

Type:
None or str

faultPeek

Dictionary mapping guessed pointers at faultMem to the data they point to.

None or empty if unapplicable or unable to retrieve.

Type:
None or dict( int→ str )

firstChance

True for first chance exceptions, False for second chance.

None if unapplicable or unable to retrieve.

Type:
None or bool

labelPC

Label pointing to the program counter.

None or invalid if unapplicable or unable to retrieve.

Type:
None or str

lpBaseOfDll

Base of module where the program counter points to.

None if unapplicable or unable to retrieve.

Type:
None or int

modFileName

File name of module where the program counter points to.

None or invalid if unapplicable or unable to retrieve.

Type:
None or str

stackFrame

Data pointed to by the stack pointer.

None or empty if unapplicable or unable to retrieve.

Type:
None or str

stackPeek

Dictionary mapping stack offsets to the data they point to.

None or empty if unapplicable or unable to retrieve.

Type:
None or dict( int → str )

stackTrace

Stack trace of the current thread as a tuple of ( return address, frame pointer, module filename ).

None or empty if unapplicable or unable to retrieve.

Type:
None or tuple of tuple( int, int, str )

stackTraceLabels

Tuple of labels pointing to the return addresses in the stack trace.

None or empty if unapplicable or unable to retrieve.

Type:
None or tuple( str... )

stackTracePC

Tuple of return addresses in the stack trace.

None or empty if unapplicable or unable to retrieve.

Type:
None or tuple( int... )

Property Details [hide private]

pc

Value of the program counter register.

Get Method:
unreachable.pc(self) - Value of the program counter register.
Type:
int

sp

Value of the stack pointer register.

Get Method:
unreachable.sp(self) - Value of the stack pointer register.
Type:
int

fp

Value of the frame pointer register.

Get Method:
unreachable.fp(self) - Value of the frame pointer register.
Type:
int