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

Class LinuxMixin

source code

posix.PtraceMixin --+
                    |
 posix.PosixMixin --+
                    |
                   LinuxMixin
Known Subclasses:

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

Instance Methods [hide private]
 
__init__(self)
Setup supported modes
source code
 
platformExec(self, *args, **kwargs) source code
 
setupMemFile(self, offset)
A utility to open (if necissary) and seek the memfile
source code
 
platformAllocateMemory(self, *args, **kwargs) source code
 
posixCreateThreadHack(self) source code
 
platformReadMemory(self, *args, **kwargs)
A *much* faster way of reading memory that the 4 bytes per syscall allowed by ptrace
source code
 
whynot_platformWriteMemory(self, *args, **kwargs)
A *much* faster way of writting memory that the 4 bytes per syscall allowed by ptrace
source code
 
_findExe(self, pid) source code
 
platformAttach(self, *args, **kwargs) source code
 
platformPs(self) source code
 
attachThread(self, tid, attached=False) source code
 
platformWait(self, *args, **kwargs) source code
 
platformContinue(self, *args, **kwargs) source code
 
platformStepi(self, *args, **kwargs) source code
 
platformDetach(self, *args, **kwargs) source code
 
doAttachThread(self, *args, **kwargs)
Do the work for attaching a thread.
source code
 
setupPtraceOptions(self, tid)
Called by doAttachThread to setup ptrace related options.
source code
 
threadsForPid(self, pid) source code
 
platformProcessEvent(self, status) source code
 
getPtraceEvent(self, *args, **kwargs)
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, *args, **kwargs) source code
 
platformSetRegCtx(self, *args, **kwargs) 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)

platformExec(self, *args, **kwargs)

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

platformAllocateMemory(self, *args, **kwargs)

source code 
Decorators:
  • @v_base.threadwrap

platformReadMemory(self, *args, **kwargs)

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, *args, **kwargs)

source code 

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

Decorators:
  • @v_base.threadwrap

platformAttach(self, *args, **kwargs)

source code 
Decorators:
  • @v_base.threadwrap

platformWait(self, *args, **kwargs)

source code 
Overrides: posix.PosixMixin.platformWait

platformContinue(self, *args, **kwargs)

source code 
Decorators:
  • @v_base.threadwrap

platformStepi(self, *args, **kwargs)

source code 
Decorators:
  • @v_base.threadwrap

platformDetach(self, *args, **kwargs)

source code 
Decorators:
  • @v_base.threadwrap

doAttachThread(self, *args, **kwargs)

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

platformProcessEvent(self, status)

source code 
Overrides: posix.PosixMixin.platformProcessEvent

getPtraceEvent(self, *args, **kwargs)

source code 

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

Decorators:
  • @v_base.threadwrap

platformGetRegCtx(self, *args, **kwargs)

source code 
Decorators:
  • @v_base.threadwrap

platformSetRegCtx(self, *args, **kwargs)

source code 
Decorators:
  • @v_base.threadwrap