class LimboProvider
Defined at line 25 of file ../../src/developer/debug/debug_agent/limbo_provider.h
In charge of providing access to the ProcessLimbo.
Fuchsia can be configured to keep processes that have excepted in a suspension state, called
Limbo. This provides the possibility for debuggers to attach to those process way after the
exception occurred. We call this process Just In Time Debugging (JITD).
Protected Members
function_impl on_enter_limbo_
Public Methods
void LimboProvider ()
Limbo can fail to initialize (eg. failed to connect). There is no point querying an invalid
limbo provider, so callers should check for validity via Valid() before using it. If the limbo
is invalid, callers should either attempt to initialize again or create another limbo provider.
Defined at line 46 of file ../../src/developer/debug/debug_agent/limbo_provider.h
void LimboProvider (LimboProvider && )
Defined at line 47 of file ../../src/developer/debug/debug_agent/limbo_provider.h
bool Valid ()
Returns true if this limbo provider is set up properly.
bool IsProcessInLimbo (zx_koid_t process_koid)
Returns true if the process with the given koid is in limbo.
const RecordMap & GetLimboRecords ()
Read-only access to the processes currently waiting in limbo.
fit::result<debug::Status, RetrievedException> RetrieveException (zx_koid_t process_koid)
Consumes the process in limbo.
debug::Status ReleaseProcess (zx_koid_t process_koid)
void ~LimboProvider ()
Defined at line 48 of file ../../src/developer/debug/debug_agent/limbo_provider.h
void set_on_enter_limbo (OnEnterLimboCallback cb)
Callback to be called whenever new processes enter the connected limbo.
See |on_enter_limbo_| for more details.
Defined at line 52 of file ../../src/developer/debug/debug_agent/limbo_provider.h