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

Class CrashContainer

source code

   object --+    
            |    
ContainerBase --+
                |
               CrashContainer
Known Subclasses:

Manages a database of persistent Crash objects, trying to avoid duplicates.

Uses a DBM database file for persistency.


See Also: Crash.key

Nested Classes [hide private]
  __CrashContainerIterator
Iterator of Crash objects.
Instance Methods [hide private]
 
__init__(self, filename=None, allowRepeatedKeys=False)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
__del__(self)
Class destructor.
source code
iterator
__iter__(self)
Returns: Iterator of the contained Crash objects.
source code
iterator
itervalues(self)
Returns: Iterator of the contained Crash objects.
source code
 
add(self, crash)
Adds a new crash to the container.
source code
 
remove(self, crash)
Removes a crash from the container.
source code
Crash object.
get(self, key)
Retrieves a crash from the container.
source code
bool
__bool__(self)
Returns: False if there are no known keys. (Inherited from winappdbg.crash.ContainerBase)
source code
bool
__contains__(self, crash)
Returns: True if a Crash object with the same key is in the container. (Inherited from winappdbg.crash.ContainerBase)
source code
int
__len__(self)
Returns: Count of known keys. (Inherited from winappdbg.crash.ContainerBase)
source code
bool
has_key(self, key)
Returns: True if the key is present in the set of known keys. (Inherited from winappdbg.crash.ContainerBase)
source code
iterator
iterkeys(self)
Returns: Iterator of known Crash keys. (Inherited from winappdbg.crash.ContainerBase)
source code
str or buffer
marshall_key(self, key)
Marshalls a Crash key to be used in the database. (Inherited from winappdbg.crash.ContainerBase)
source code
str
marshall_value(self, value, storeMemoryMap=False)
Marshalls a Crash object to be used in the database. (Inherited from winappdbg.crash.ContainerBase)
source code
 
remove_key(self, key)
Removes the given key from the set of known keys. (Inherited from winappdbg.crash.ContainerBase)
source code
Crash key.
unmarshall_key(self, key)
Unmarshalls a Crash key read from the database. (Inherited from winappdbg.crash.ContainerBase)
source code
Crash
unmarshall_value(self, value)
Unmarshalls a Crash object read from the database. (Inherited from winappdbg.crash.ContainerBase)
source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
bool optimizeKeys = False
True to optimize the marshalling of keys, False otherwise.
bool optimizeValues = True
True to optimize the marshalling of keys, False otherwise.
bool compressKeys = False
True to compress keys when marshalling, False to leave them uncompressed.
bool compressValues = True
True to compress values when marshalling, False to leave them uncompressed.
bool escapeKeys = False
True to escape keys when marshalling, False to leave them uncompressed.
bool escapeValues = False
True to escape values when marshalling, False to leave them uncompressed.
bool binaryKeys = False
True to marshall keys to binary format (the Python buffer type), False to use text marshalled keys (str type).
bool binaryValues = False
True to marshall values to binary format (the Python buffer type), False to use text marshalled values (str type).
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, filename=None, allowRepeatedKeys=False)
(Constructor)

source code 

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

Parameters:
  • filename (str) - (Optional) File name for crash database. If no filename is specified, the container is volatile.

    Volatile containers are stored only in memory and destroyed when they go out of scope.

  • allowRepeatedKeys (bool) - Currently not supported, always use False.
Overrides: object.__init__

__del__(self)
(Destructor)

source code 

Class destructor. Closes the database when this object is destroyed.

__iter__(self)

source code 
Returns: iterator
Iterator of the contained Crash objects.

See Also: itervalues

itervalues(self)

source code 
Returns: iterator
Iterator of the contained Crash objects.

Warning: A copy of each object is returned, so any changes made to them will be lost.

To preserve changes do the following:

  1. Keep a reference to the object.
  2. Delete the object from the set.
  3. Modify the object and add it again.

add(self, crash)

source code 

Adds a new crash to the container. If the crash appears to be already known, it's ignored.

Parameters:
  • crash (Crash) - Crash object to add.

See Also: Crash.key

remove(self, crash)

source code 

Removes a crash from the container.

Parameters:
  • crash (Crash) - Crash object to remove.

get(self, key)

source code 

Retrieves a crash from the container.

Parameters:
  • key (Crash unique key.) - Key of the crash to get.
Returns: Crash object.
Crash matching the given key.

See Also: iterkeys

Warning: A copy of each object is returned, so any changes made to them will be lost.

To preserve changes do the following:

  1. Keep a reference to the object.
  2. Delete the object from the set.
  3. Modify the object and add it again.