AMD_DBGAPI
0.70.1
|
The library requires the client to provide a number of services. More...
Data Structures | |
struct | amd_dbgapi_breakpoint_id_t |
Opaque breakpoint handle. More... | |
struct | amd_dbgapi_callbacks_s |
Callbacks that the client of the library must provide. More... | |
Macros | |
#define | AMD_DBGAPI_BREAKPOINT_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_breakpoint_id_t, 0) |
The NULL breakpoint handle. More... | |
Typedefs | |
typedef struct amd_dbgapi_callbacks_s | amd_dbgapi_callbacks_t |
Forward declaration of callbacks used to specify services that must be provided by the client. More... | |
typedef struct amd_dbgapi_client_thread_s * | amd_dbgapi_client_thread_id_t |
Opaque client thread handle. More... | |
Enumerations | |
enum | amd_dbgapi_breakpoint_info_t { AMD_DBGAPI_BREAKPOINT_INFO_PROCESS = 1 } |
Breakpoint queries that are supported by amd_dbgapi_breakpoint_get_info. More... | |
enum | amd_dbgapi_breakpoint_action_t { AMD_DBGAPI_BREAKPOINT_ACTION_RESUME = 1 , AMD_DBGAPI_BREAKPOINT_ACTION_HALT = 2 } |
The action to perform after reporting a breakpoint has been hit. More... | |
Functions | |
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_breakpoint_get_info (amd_dbgapi_breakpoint_id_t breakpoint_id, amd_dbgapi_breakpoint_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54 |
Query information about a breakpoint. More... | |
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_report_breakpoint_hit (amd_dbgapi_breakpoint_id_t breakpoint_id, amd_dbgapi_client_thread_id_t client_thread_id, amd_dbgapi_breakpoint_action_t *breakpoint_action) AMD_DBGAPI_VERSION_0_54 |
Report that a breakpoint inserted by the amd_dbgapi_callbacks_s::insert_breakpoint callback has been hit. More... | |
The library requires the client to provide a number of services.
These services are specified by providing callbacks when initializing the library using amd_dbgapi_initialize.
The callbacks defined in this section are invoked by the library and must not themselves invoke any function provided by the library before returning.
#define AMD_DBGAPI_BREAKPOINT_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_breakpoint_id_t, 0) |
The NULL breakpoint handle.
typedef struct amd_dbgapi_callbacks_s amd_dbgapi_callbacks_t |
Forward declaration of callbacks used to specify services that must be provided by the client.
typedef struct amd_dbgapi_client_thread_s* amd_dbgapi_client_thread_id_t |
Opaque client thread handle.
A pointer to client data associated with a thread. This pointer is passed in to the amd_dbgapi_report_breakpoint_hit so it can be passed out by the AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event to allow the client of the library to identify the thread that must be resumed.
Breakpoint queries that are supported by amd_dbgapi_breakpoint_get_info.
Each query specifies the type of data returned in the value
argument to amd_dbgapi_breakpoint_get_info.
Enumerator | |
---|---|
AMD_DBGAPI_BREAKPOINT_INFO_PROCESS | Return the process to which this breakpoint belongs. The type of this attribute is amd_dbgapi_process_id_t. |
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_breakpoint_get_info | ( | amd_dbgapi_breakpoint_id_t | breakpoint_id, |
amd_dbgapi_breakpoint_info_t | query, | ||
size_t | value_size, | ||
void * | value | ||
) |
Query information about a breakpoint.
amd_dbgapi_breakpoint_info_t specifies the queries supported and the type returned using the value
argument.
[in] | breakpoint_id | The handle of the breakpoint being queried. |
[in] | query | The query being requested. |
[in] | value_size | Size of the memory pointed to by value . Must be equal to the byte size of the query result. |
[out] | value | Pointer to memory where the query result is stored. |
AMD_DBGAPI_STATUS_SUCCESS | The function has been executed successfully and the result is stored in value . |
AMD_DBGAPI_STATUS_FATAL | A fatal error occurred. The library is left uninitialized and value is unaltered. |
AMD_DBGAPI_STATUS_ERROR_NOT_INITIALIZED | The library is not initialized. The library is left uninitialized and value is unaltered. |
AMD_DBGAPI_STATUS_ERROR_INVALID_BREAKPOINT_ID | breakpoint_id is invalid. value is unaltered. |
AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT | value is NULL or query is invalid. value is unaltered. |
AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT_COMPATIBILITY | value_size does not match the size of the query result. value is unaltered. |
AMD_DBGAPI_STATUS_ERROR_CLIENT_CALLBACK | This will be reported if the amd_dbgapi_callbacks_s::allocate_memory callback used to allocate value returns NULL. value is unaltered. |
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_report_breakpoint_hit | ( | amd_dbgapi_breakpoint_id_t | breakpoint_id, |
amd_dbgapi_client_thread_id_t | client_thread_id, | ||
amd_dbgapi_breakpoint_action_t * | breakpoint_action | ||
) |
Report that a breakpoint inserted by the amd_dbgapi_callbacks_s::insert_breakpoint callback has been hit.
The thread that hit the breakpoint must remain halted while this function executes, at which point it must be resumed if breakpoint_action
is AMD_DBGAPI_BREAKPOINT_ACTION_RESUME. If breakpoint_action
is :AMD_DBGAPI_BREAKPOINT_ACTION_HALT then the client should process pending events which will cause a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event to be added which specifies that the thread should now be resumed.
[in] | breakpoint_id | The breakpoint that has been hit. |
[in] | client_thread_id | The client identification of the thread that hit the breakpoint. |
[out] | breakpoint_action | Indicate if the thread hitting the breakpoint should be resumed or remain halted when this function returns. |
AMD_DBGAPI_STATUS_SUCCESS | The function has been executed successfully and breakpoint_action indicates if the thread hitting the breakpoint should be resumed. |
AMD_DBGAPI_STATUS_FATAL | A fatal error occurred. The library is left uninitialized and breakpoint_action is unaltered. |
AMD_DBGAPI_STATUS_ERROR_NOT_INITIALIZED | The library is not initialized. The library is left uninitialized and breakpoint_action is unaltered. |
AMD_DBGAPI_STATUS_ERROR_INVALID_BREAKPOINT_ID | The breakpoint_id is invalid. breakpoint_action is unaltered. |
AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT | breakpoint_action is NULL. breakpoint_action is unaltered. |