Package vtrace :: Package platforms :: Module gdbstub :: Class GdbStubTrace
[hide private]
[frames] | no frames]

Class GdbStubTrace

source code

           envi.memory.IMemory --+    
                                 |    
envi.registers.RegisterContext --+    
                                 |    
  envi.resolver.SymbolResolver --+    
                                 |    
                        object --+    
                                 |    
                             Trace --+
                                     |
                      GdbStubMixin --+
                                     |
                    object --+       |
                             |       |
            notifiers.Notifier --+   |
                                 |   |
                   base.TracerBase --+
                                     |
                                    GdbStubTrace

Instance Methods [hide private]
 
__init__(self, archname)
Hand in a register definition which consists of a list of (<name>, <width>) tuples.
source code
 
_activateBreak(self, bp) source code
 
_cleanupBreakpoints(self, force=False)
Cleanup any non-fastbreak breakpoints.
source code
 
_checkForBreak(self)
Check to see if we've landed on a breakpoint, and if so deactivate and step us past it.
source code
 
buildNewTrace(self)
Build a new/clean trace "like" this one.
source code

Inherited from Trace: addBreakByAddr, addBreakByExpr, addBreakpoint, addIgnoreSignal, allocateMemory, attach, call, delIgnoreSignal, deregisterNotifier, detach, disableAutoContinue, enableAutoContinue, execute, getAutoContinueList, getBreakpoint, getBreakpointByAddr, getBreakpointCode, getBreakpointEnabled, getBreakpoints, getCurrentBreakpoint, getCurrentSignal, getCurrentThread, getFds, getMemoryFault, getMemoryMaps, getMeta, getMode, getNormalizedLibNames, getNotifiers, getPid, getRegister, getRegisterContext, getStackTrace, getStruct, getStructNames, getSymByAddr, getSymByName, getSymsForFile, getThreads, getVariable, getVariables, hasMeta, hex, injectThread, injectso, isAttached, isRemote, isRunning, isThreadSuspended, joinThread, kill, parseExpression, protectMemory, ps, readMemory, registerNotifier, release, removeBreakpoint, requireAttached, requireNotExited, requireNotRunning, resumeThread, run, runAgain, searchMemory, searchMemoryRange, searchSymbols, selectThread, sendBreak, setBreakpointCode, setBreakpointEnabled, setCurrentSignal, setMeta, setMode, setRegister, setVariable, stepi, suspendThread, writeMemory

Inherited from envi.memory.IMemory: addMemoryMap, getMemoryMap, getPointerSize, getSegmentInfo, isExecutable, isReadable, isShared, isValidPointer, isWriteable, parseOpcode, probeMemory, readMemValue, readMemoryFormat, writeMemoryFormat

Inherited from envi.registers.RegisterContext: addMetaRegister, getMetaRegInfo, getProgramCounter, getRegDef, getRegisterByName, getRegisterIndex, getRegisterInfo, getRegisterName, getRegisterNameIndexes, getRegisterNames, getRegisterSnap, getRegisterWidth, getRegisters, getStackCounter, isDirty, isMetaRegister, loadRegDef, loadRegMetas, reprRegister, setIsDirty, setProgramCounter, setRegisterByName, setRegisterIndexes, setRegisterInfo, setRegisterSnap, setRegisters, setStackCounter

Inherited from envi.resolver.SymbolResolver: addSymbol, delSymbol, getSymHint, getSymList

Inherited from GdbStubMixin: platformAttach, platformContinue, platformDetach, platformGetMaps, platformGetRegCtx, platformGetThreads, platformProcessEvent, platformReadMemory, platformSendBreak, platformSetRegCtx, platformStepi, platformWait, platformWriteMemory

Inherited from base.TracerBase: __del__, __repr__, addLibraryBase, archAddWatchpoint, archCheckWatchpoints, archGetRegCtx, archGetStackTrace, archRemWatchpoint, checkBreakpoints, checkPageWatchpoints, checkWatchpoints, delLibraryBase, doStepLoop, fireNotifiers, fireTracerThread, getExe, getResolverForFile, initMode, nextBpId, normFileName, notify, platformAllocateMemory, platformCall, platformExec, platformGetFds, platformGetMemFault, platformGetSignal, platformInjectSo, platformInjectThread, platformKill, platformOpenFile, platformParseBinary, platformProtectMemory, platformPs, platformRelease, platformResumeThread, platformSelectThread, platformSetSignal, platformSuspendThread, shouldRunAgain, steploop, wait

Inherited from notifiers.Notifier: handleEvent

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

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, archname)
(Constructor)

source code 

Hand in a register definition which consists of a list of (<name>, <width>) tuples.

Overrides: object.__init__
(inherited documentation)

_activateBreak(self, bp)

source code 
Overrides: base.TracerBase._activateBreak

_cleanupBreakpoints(self, force=False)

source code 

Cleanup any non-fastbreak breakpoints. This routine doesn't even get called in the event of mode FastBreak=True.

Overrides: base.TracerBase._cleanupBreakpoints

_checkForBreak(self)

source code 

Check to see if we've landed on a breakpoint, and if so deactivate and step us past it.

WARNING: Unfortunatly, cause this is used immidiatly before a call to run/wait, we must block briefly even for the GUI

Overrides: base.TracerBase._checkForBreak

buildNewTrace(self)

source code 

Build a new/clean trace "like" this one.  For platforms where a
special trace was handed in, this allows initialization of a new one.
For most implementations, this is very simple....

Example:
    if need_another_trace:
        newt = trace.buildNewTrace()

Overrides: Trace.buildNewTrace
(inherited documentation)