Breakpoints
Macros
- CUDBG_BREAKPOINT_HANDLE_ALL_USER_BREAKPOINTS
-
Special breakpoint handle - represents all non-special breakpoints that were inserted by the API user.
- CUDBG_BREAKPOINT_HANDLE_BREAK_ON_LAUNCH
-
Break On Launch breakpoint handle - this breakpoint can be enabled/disabled with enableBreakpoint/disableBreakpoint.
- CUDBG_BREAKPOINT_HANDLE_INTERNAL
-
Special breakpoint handle - internal breakpoint (e.g.
- CUDBG_BREAKPOINT_HANDLE_INVALID
-
Invalid breakpoint handle.
- CUDBG_BREAKPOINT_HANDLE_LEGACY
-
Special breakpoint handle - breakpoint inserted with setBreakpoint (handle-less).
- CUDBG_BREAKPOINT_HANDLE_TRAP
-
Special breakpoint handle - hard-coded trap.
Enumerations
- CUDBGAdjAddrAction
-
Describes which adjusted code address is to be returned.
Typedefs
- CUDBGBreakpointHandle
-
GPU debugger breakpoint handle.
Variables
- CUDBGResult(* CUDBGAPI_st::disableBreakpoint
-
Disable a breakpoint specified by its handle.
- CUDBGResult(* CUDBGAPI_st::enableBreakpoint
-
Enable a breakpoint specified by its handle.
- CUDBGResult(* CUDBGAPI_st::getAdjustedCodeAddress
-
Get the adjusted code address for a given code address for a given device.
- CUDBGResult(* CUDBGAPI_st::getWarpHitBreakpoint
-
Get the handle of the breakpoint that the given warp hit.
- CUDBGResult(* CUDBGAPI_st::insertBreakpoint
-
Set a breakpoint at the given instruction address for the given device.
- CUDBGResult(* CUDBGAPI_st::isBreakpointEnabled
-
Check if a breakpoint specified by its handle is enabled.
- CUDBGResult(* CUDBGAPI_st::removeBreakpoint
-
Remove a breakpoint specified by its handle.
- CUDBGResult(* CUDBGAPI_st::setBreakpoint
-
Set a breakpoint at the given instruction address for the given device.
- CUDBGResult(* CUDBGAPI_st::setBreakpoint31
-
Set a breakpoint at the given instruction address.
- CUDBGResult(* CUDBGAPI_st::unsetBreakpoint
-
Unset a breakpoint at the given instruction address for the given device.
- CUDBGResult(* CUDBGAPI_st::unsetBreakpoint31
-
Unset a breakpoint at the given instruction address.
Macros
-
CUDBG_BREAKPOINT_HANDLE_ALL_USER_BREAKPOINTS (0xFFFFFFFFFFFFFFFBULL)
-
Special breakpoint handle - represents all non-special breakpoints that were inserted by the API user.
This handle can be used to enable, disable, and remove all added breakpoints in a single call.
It can only be used as a handle in CUDBGAPI_st::removeBreakpoint, CUDBGAPI_st::enableBreakpoint, CUDBGAPI_st::disableBreakpoint functions.
If this handle is used and there are no breakpoints added by the user, the aforementioned API functions do not fail, instead the operation acts on no breakpoints, so calling e.g. CUDBGAPI_st::removeBreakpoint with this handle is fine if there are no breakpoints added by the user. They may still fail for other reasons.
Note
The set of breakpoints represented by this handle does not include the CUDBG_BREAKPOINT_HANDLE_BREAK_ON_LAUNCH breakpoint.
-
CUDBG_BREAKPOINT_HANDLE_BREAK_ON_LAUNCH (0xFFFFFFFFFFFFFFFCULL)
-
Break On Launch breakpoint handle - this breakpoint can be enabled/disabled with enableBreakpoint/disableBreakpoint.
It is hit once every time a kernel is launched. It can be hit by one or more warps, but only once. Only supports CUDA Kernel launches (both host-side and device-side launches).
-
CUDBG_BREAKPOINT_HANDLE_INTERNAL (0xFFFFFFFFFFFFFFFDULL)
-
Special breakpoint handle - internal breakpoint (e.g.
used internally for stepping)
-
CUDBG_BREAKPOINT_HANDLE_INVALID (0ULL)
-
Invalid breakpoint handle.
-
CUDBG_BREAKPOINT_HANDLE_LEGACY (0xFFFFFFFFFFFFFFFEULL)
-
Special breakpoint handle - breakpoint inserted with setBreakpoint (handle-less).
-
CUDBG_BREAKPOINT_HANDLE_TRAP (0xFFFFFFFFFFFFFFFFULL)
-
Special breakpoint handle - hard-coded trap.
Enumerations
-
enum CUDBGAdjAddrAction
-
Describes which adjusted code address is to be returned.
Values:
-
enumerator CUDBG_ADJ_PREVIOUS_ADDRESS
-
Get the adjusted previous code address.
-
enumerator CUDBG_ADJ_CURRENT_ADDRESS
-
Get the adjusted next code address.
-
enumerator CUDBG_ADJ_NEXT_ADDRESS
-
Get the adjusted current code address.
-
enumerator CUDBG_ADJ_PREVIOUS_ADDRESS
Typedefs
-
typedef uint64_t CUDBGBreakpointHandle
-
GPU debugger breakpoint handle.
Valid breakpoint handles will grow from 1. Handle values of removed breakpoints can be reused in some cases. It is not guaranteed that new (non-reused) breakpoint handles will always be increasing by 1, there can be gaps. A valid handle always corresponds to a single inserted breakpoint, and each breakpoint can only have one handle. Handles with the highest bit set are reserved for special purposes and can correspond to multiple breakpoints.