diff options
-rw-r--r-- | lldb/include/lldb/API/SBProcess.h | 12 | ||||
-rw-r--r-- | lldb/include/lldb/API/SBSymbolContext.h | 36 |
2 files changed, 44 insertions, 4 deletions
diff --git a/lldb/include/lldb/API/SBProcess.h b/lldb/include/lldb/API/SBProcess.h index ed8e6713b04..8b6c5407544 100644 --- a/lldb/include/lldb/API/SBProcess.h +++ b/lldb/include/lldb/API/SBProcess.h @@ -80,11 +80,17 @@ public: void AppendEventStateReport (const lldb::SBEvent &event, lldb::SBCommandReturnObject &result); +#ifdef SWIG + %feature("docstring", " +#endif //------------------------------------------------------------------ - // Remote connection related functions. These will fail if the - // process is not in eStateConnected. They are intended for use - // when connecting to an externally managed debugserver instance. + /// Remote connection related functions. These will fail if the + /// process is not in eStateConnected. They are intended for use + /// when connecting to an externally managed debugserver instance. //------------------------------------------------------------------ +#ifdef SWIG + ") RemoteAttachToProcessWithID; +#endif bool RemoteAttachToProcessWithID (lldb::pid_t pid, lldb::SBError& error); diff --git a/lldb/include/lldb/API/SBSymbolContext.h b/lldb/include/lldb/API/SBSymbolContext.h index f72bef2643e..2c17925268c 100644 --- a/lldb/include/lldb/API/SBSymbolContext.h +++ b/lldb/include/lldb/API/SBSymbolContext.h @@ -22,7 +22,41 @@ namespace lldb { #ifdef SWIG %feature("docstring", - "A container that stores various debugger related info." +"A context object that provides access to core debugger entities. + +Manay debugger functions require a context when doing lookups. This class +provides a common structure that can be used as the result of a query that +can contain a single result. + +For example, + + exe = os.path.join(os.getcwd(), 'a.out') + + # Create a target for the debugger. + target = self.dbg.CreateTarget(exe) + + # Now create a breakpoint on main.c by name 'c'. + breakpoint = target.BreakpointCreateByName('c', 'a.out') + + # Now launch the process, and do not stop at entry point. + process = target.LaunchSimple(None, None, os.getcwd()) + + # The inferior should stop on 'c'. + from lldbutil import get_stopped_thread + thread = get_stopped_thread(process, lldb.eStopReasonBreakpoint) + frame0 = thread.GetFrameAtIndex(0) + + # Now get the SBSymbolContext from this frame. We want everything. :-) + context = frame0.GetSymbolContext(lldb.eSymbolContextEverything) + + # Get the module. + module = context.GetModule() + ... + + # And the compile unit associated with the frame. + compileUnit = context.GetCompileUnit() + ... +" ) SBSymbolContext; #endif class SBSymbolContext |