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()

Get the error string as a NULL terminated UTF8 c-string.

GetDescription(SBError self, ...)

GetError()

Get the error code.

GetErrorData()

Get the error in machine-readable form.

GetType(SBError self)

IsValid()

Returns true if this object contains an underlying Status object.

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()ΒΆ

Get the error string as a NULL terminated UTF8 c-string.

This SBError object owns the returned string and this object must be kept around long enough to use the returned string.

GetDescription(SBError self, SBStream description) boolΒΆ
GetError()ΒΆ

Get the error code.

GetErrorData()ΒΆ

Get the error in machine-readable form. Particularly useful for compiler diagnostics.

GetType(SBError self) lldb::ErrorTypeΒΆ
IsValid()ΒΆ

Returns true if this object contains an underlying Status object.

That object may represent a success or a failure. When IsValid returns false, it may be the case that the SBError represents a success but does not contain a Status representing that success.

It is safe to call Success or Fail in the case where IsValid returns false.

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ΒΆ