SBError

class lldb.SBError(*args)

Represents a container for holding any error code.

For example (from test/python_api/hello_world/TestHelloWorld.py),

def hello_world_attach_with_id_api(self):
    '''Create target, spawn a process, and attach to it by id.'''

    target = self.dbg.CreateTarget(self.exe)

    # Spawn a new process and don't display the stdout if not in TraceOn() mode.
    import subprocess
    popen = subprocess.Popen([self.exe, 'abc', 'xyz'],
                             stdout = open(os.devnull, 'w') if not self.TraceOn() else None)

    listener = lldb.SBListener('my.attach.listener')
    error = lldb.SBError()
    process = target.AttachToProcessWithID(listener, popen.pid, error)

    self.assertTrue(error.Success() and process, PROCESS_IS_VALID)

    # Let's check the stack traces of the attached process.
    import lldbutil
    stacktraces = lldbutil.print_stacktraces(process, string_buffer=True)
    self.expect(stacktraces, exe=False,
        substrs = ['main.c:%d' % self.line2,
                   '(int)argc=3'])

    listener = lldb.SBListener('my.attach.listener')
    error = lldb.SBError()
    process = target.AttachToProcessWithID(listener, popen.pid, error)

    self.assertTrue(error.Success() and process, PROCESS_IS_VALID)

checks that after the attach, there is no error condition by asserting that error.Success() is True and we get back a valid process object.

And (from test/python_api/event/TestEvent.py),

# Now launch the process, and do not stop at entry point.
error = lldb.SBError()
process = target.Launch(listener, None, None, None, None, None, None, 0, False, error)
self.assertTrue(error.Success() and process, PROCESS_IS_VALID)

checks that after calling the target.Launch() method there’s no error condition and we get back a void process object.

Attributes Summary

description A read only property that returns the same result as GetCString().
fail A read only property that returns the same result as Fail().
success A read only property that returns the same result as Success().
type A read only property that returns the same result as GetType().
value A read only property that returns the same result as GetError().

Methods Summary

Clear(SBError self)
Fail(SBError self)
GetCString(SBError self)
GetDescription(SBError self, …)
GetError(SBError self)
GetType(SBError self)
IsValid(SBError self)
SetError(SBError self, uint32_t err, lldb)
SetErrorString(SBError self, …)
SetErrorStringWithFormat(SBError self, …)
SetErrorToErrno(SBError self)
SetErrorToGenericError(SBError self)
Success(SBError self)

Attributes Documentation

description

A read only property that returns the same result as GetCString().

fail

A read only property that returns the same result as Fail().

success

A read only property that returns the same result as Success().

type

A read only property that returns the same result as GetType().

value

A read only property that returns the same result as GetError().

Methods Documentation

Clear(SBError self)
Fail(SBError self) → bool
GetCString(SBError self) → char const *
GetDescription(SBError self, SBStream description) → bool
GetError(SBError self) → uint32_t
GetType(SBError self) → lldb::ErrorType
IsValid(SBError self) → bool
SetError(SBError self, uint32_t err, lldb::ErrorType type)
SetErrorString(SBError self, char const * err_str)
SetErrorStringWithFormat(SBError self, char const * format, char * str1=None, char * str2=None, char * str3=None) → int
SetErrorToErrno(SBError self)
SetErrorToGenericError(SBError self)
Success(SBError self) → bool