Package vtrace :: Package platforms :: Module linux :: Class LinuxMixin
[hide private]
[frames] | no frames]

Class LinuxMixin

source code


The mixin to take care of linux specific platform traits. (mostly proc)

Instance Methods [hide private]
 
__init__(self)
Setup supported modes
source code
 
setupMemFile(self, offset)
A utility to open (if necissary) and seek the memfile
source code
 
platformReadMemory(self, address, size)
A *much* faster way of reading memory that the 4 bytes per syscall allowed by ptrace
source code
 
whynot_platformWriteMemory(self, address, data)
A *much* faster way of writting memory that the 4 bytes per syscall allowed by ptrace
source code
 
_findExe(self, pid) source code
 
platformExec(self, cmdline) source code
 
platformAttach(self, pid) source code
 
platformPs(self) source code
 
_simpleCreateThreads(self) source code
 
attachThread(self, tid, attached=False) source code
 
detachThread(self, tid, ecode) source code
 
platformWait(self) source code
 
platformContinue(self) source code
 
platformStepi(self) source code
 
platformDetach(self) source code
 
doAttachThread(self, tid, attached=False)
Do the work for attaching a thread.
source code
 
setupPtraceOptions(self, tid)
Called per pid/tid to setup proper options for ptrace.
source code
 
threadsForPid(self, pid) source code
 
platformProcessEvent(self, event) source code
 
getPtraceEvent(self, tid=None)
This *thread wrapped* function will get any pending GETEVENTMSG msgs.
source code
 
platformGetThreads(self) source code
 
platformGetMaps(self) source code
 
platformGetFds(self) source code
 
platformGetRegCtx(self, tid) source code
 
platformSetRegCtx(self, tid, ctx) source code

Inherited from posix.PtraceMixin: platformWriteMemory

Inherited from posix.PosixMixin: handleAttach, handlePosixSignal, platformKill, platformSendBreak, sendSignal

Method Details [hide private]

__init__(self)
(Constructor)

source code 

Setup supported modes

Overrides: posix.PosixMixin.__init__
(inherited documentation)

platformReadMemory(self, address, size)

source code 

A *much* faster way of reading memory that the 4 bytes per syscall allowed by ptrace

Decorators:
  • @v_base.threadwrap

whynot_platformWriteMemory(self, address, data)

source code 

A *much* faster way of writting memory that the 4 bytes per syscall allowed by ptrace

Decorators:
  • @v_base.threadwrap

platformExec(self, cmdline)

source code 
Decorators:
  • @v_base.threadwrap
Overrides: posix.PtraceMixin.platformExec

platformAttach(self, pid)

source code 
Decorators:
  • @v_base.threadwrap

detachThread(self, tid, ecode)

source code 
Decorators:
  • @v_base.threadwrap

platformWait(self)

source code 
Decorators:
  • @v_base.threadwrap
Overrides: posix.PosixMixin.platformWait

platformContinue(self)

source code 
Decorators:
  • @v_base.threadwrap

platformStepi(self)

source code 
Decorators:
  • @v_base.threadwrap

platformDetach(self)

source code 
Decorators:
  • @v_base.threadwrap

doAttachThread(self, tid, attached=False)

source code 

Do the work for attaching a thread. This must be *under* attachThread() so callers in notifiers may call it (because it's also gotta be thread wrapped).

Decorators:
  • @v_base.threadwrap

setupPtraceOptions(self, tid)

source code 

Called per pid/tid to setup proper options for ptrace.

Decorators:
  • @v_base.threadwrap

platformProcessEvent(self, event)

source code 
Overrides: posix.PosixMixin.platformProcessEvent

getPtraceEvent(self, tid=None)

source code 

This *thread wrapped* function will get any pending GETEVENTMSG msgs.

Decorators:
  • @v_base.threadwrap

platformGetRegCtx(self, tid)

source code 
Decorators:
  • @v_base.threadwrap

platformSetRegCtx(self, tid, ctx)

source code 
Decorators:
  • @v_base.threadwrap