L4Re Operating System Framework
Interface and Usage Documentation
|
C++ kernel debugger API. More...
#include <debugger>
Public Member Functions | |
l4_msgtag_t | set_object_name (const char *name, l4_utcb_t *utcb=l4_utcb()) noexcept |
Set the name of a kernel object. | |
unsigned long | global_id (l4_utcb_t *utcb=l4_utcb()) noexcept |
Get the globally unique ID of the object behind a capability. | |
unsigned long | kobj_to_id (l4_addr_t kobjp, l4_utcb_t *utcb=l4_utcb()) noexcept |
Get the globally unique ID of the object behind the kobject pointer. | |
long | query_log_typeid (const char *name, unsigned idx, l4_utcb_t *utcb=l4_utcb()) noexcept |
Query the log-id for a log type. | |
long | query_log_name (unsigned idx, char *name, unsigned namelen, char *shortname, unsigned shortnamelen, l4_utcb_t *utcb=l4_utcb()) noexcept |
Query the name of a log type given the ID. | |
l4_msgtag_t | switch_log (const char *name, unsigned on_off, l4_utcb_t *utcb=l4_utcb()) noexcept |
Set or unset log. | |
l4_msgtag_t | get_object_name (unsigned id, char *name, unsigned size, l4_utcb_t *utcb=l4_utcb()) noexcept |
Get name of object with Id id . | |
l4_msgtag_t | add_image_info (l4_addr_t base, const char *name, l4_utcb_t *utcb=l4_utcb()) noexcept |
Add loaded image information for a task. | |
Public Member Functions inherited from L4::Kobject | |
l4_msgtag_t | dec_refcnt (l4_mword_t diff, l4_utcb_t *utcb=l4_utcb()) |
Decrement the in kernel reference counter for the object. | |
Additional Inherited Members | |
Protected Types inherited from L4::Kobject_t< Debugger, Kobject, L4_PROTO_DEBUGGER > | |
typedef Debugger | Class |
The target interface type (inheriting from Kobject_t) | |
typedef Typeid::Iface< PROTO, Debugger > | __Iface |
The interface description for the derived class. | |
typedef Typeid::Merge_list< Typeid::Iface_list< __Iface >, typename Base::__Iface_list > | __Iface_list |
The list of all RPC interfaces provided directly or through inheritance. | |
Protected Member Functions inherited from L4::Kobject_t< Debugger, Kobject, L4_PROTO_DEBUGGER > | |
L4::Cap< Class > | c () const noexcept |
Get the capability to ourselves. | |
Protected Member Functions inherited from L4::Kobject | |
l4_cap_idx_t | cap () const noexcept |
Return capability selector. | |
Static Protected Member Functions inherited from L4::Kobject_t< Debugger, Kobject, L4_PROTO_DEBUGGER > | |
static void | __check_protocols__ () noexcept |
Helper to check for protocol conflicts. | |
C++ kernel debugger API.
This API is to be used for debugging exclusively.
This is the API for accessing kernel-debugger functionality from user-level programs. Specifically, it provides functionality to enrich the kernel debugger with insights into the program. The purpose is to facilitate debugging with the kernel debugger. For instance, a developer might choose to name the threads of her program so that she can find them in the kernel debugger thread list.
This API interacts with a kernel object that interfaces with the kernel debugger, the jdb-kernel object. The jdb-kernel object is fix and only available when the kernel debugger is built into the microkernel. The developer needs to pass the capability through to her program.
|
inlinenoexcept |
Add loaded image information for a task.
base | Image load base address |
name | Image name |
utcb | The UTCB to use for the operation. |
Definition at line 172 of file debugger.
References L4::Kobject::cap().
|
inlinenoexcept |
Get name of object with Id id
.
id | Id of the object whose name is asked. | |
[out] | name | Buffer to copy the name into. The buffer must be allocated by the caller. |
size | Length of the name buffer. | |
utcb | UTCB to be used for this operation, shall be the UTCB of the calling thread. See l4_utcb. |
Definition at line 159 of file debugger.
References L4::Kobject::cap().
Get the globally unique ID of the object behind a capability.
utcb | UTCB to be used for this operation, shall be the UTCB of the calling thread. Defaults to l4_utcb. |
~0UL | The capability is invalid. |
>=0 | The global debugger id. |
Definition at line 82 of file debugger.
References L4::Kobject::cap().
|
inlinenoexcept |
Get the globally unique ID of the object behind the kobject pointer.
kobjp | Kobject pointer |
utcb | UTCB to be used for this operation, shall be the UTCB of the calling thread. See l4_utcb. |
~0UL | The capability or the Kobject pointer are invalid. |
>=0 | The globally unique id. |
Definition at line 94 of file debugger.
References L4::Kobject::cap().
|
inlinenoexcept |
Query the name of a log type given the ID.
idx | ID to query. | |
[out] | name | Buffer to copy name to. The buffer must be allocated by the caller. |
namelen | Buffer length of name. | |
[out] | shortname | Buffer to copy shortname to. The buffer must be allocated by the caller. |
shortnamelen | Buffer length of shortname . | |
utcb | UTCB to be used for this operation, shall be the UTCB of the calling thread. See l4_utcb. |
0 | Success |
<0 | Error |
Definition at line 127 of file debugger.
References L4::Kobject::cap().
|
inlinenoexcept |
Query the log-id for a log type.
name | Name to query for. |
idx | Idx to start searching, start with 0 |
utcb | UTCB to be used for this operation, shall be the UTCB of the calling thread. See l4_utcb. |
>=0 | Id |
<0 | Error |
Definition at line 108 of file debugger.
References L4::Kobject::cap().
|
inlinenoexcept |
Set the name of a kernel object.
name | Name |
utcb | UTCB to be used for this operation, shall be the UTCB of the calling thread. Defaults to l4_utcb. |
Definition at line 70 of file debugger.
References L4::Kobject::cap().
|
inlinenoexcept |
Set or unset log.
name | Name of the log type. |
on_off | 1: turn log on, 0: turn log off |
utcb | UTCB to be used for this operation, shall be the UTCB of the calling thread. See l4_utcb. |
Definition at line 144 of file debugger.
References L4::Kobject::cap().