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=subprocess.DEVNULL 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#