PsGetBreakPointInfo

Retrieves information about currently set breakpoints.

Syntax

PULSE_STATUS PsGetBreakPointInfo(
 [in] PPS_ENGINE pEngine,
 [out, optional] PPS_BREAK_POINT_INFO pBreakPointInfoArray,
 [in] uint16_t StartBreakPointId,
 [out, optional] uint16_t *pCount,
 [out, optional] uint16_t *pTotalCount
);

Parameters

PPS_ENGINE pEngine

An opaque handle to an engine created by the EngCreateEngine function.

PPS_BREAK_POINT_INFO pBreakPointInfoArray

An array of PS_BREAK_POINT_INFO structures that receives information about the breakpoints.

uint16_t StartBreakPointId

The ID of the first breakpoint for which information is requested. See the Remarks section for more information.

uint16_t* pCount

The number of entries returned in pBreakPointInfoArray by the call.

uint16_t* pTotalCount

The total number of currently set breakpoints.

Return value

If the function succeeds, the return value is PULSE_STATUS_SUCCESS.

If it fails, it returns one of the PULSE_STATUS values. Possible return codes include, but are not limited to, the following:

PULSE_STATUS_INSUFFICIENT_RESOURCES
0xC0000002
One of the memory allocations failed during initialization.
PULSE_STATUS_READ_FAILED
0xC0000003
Transport communication failed during a read operation.
PULSE_STATUS_WRITE_FAILED
0xC0000004
Transport communication failed during a write operation.
PULSE_STATUS_TIMEOUT
0xC0000007
Might happen if
  • Transport I/O timed out.
  • No response was received from the debuggee within the request timeout period.
PULSE_STATUS_INVALID_PARAMETER
0xC0000010
Might happen if
  • The pEngine parameter is NULL.
  • Both pBreakPointInfoArray and pTotalCount are NULL.
  • pBreakPointInfoArray is not NULL, but pCount is NULL.
PULSE_STATUS_INVALID_PACKET
0xC0000031
An invalid or unexpected packet was received in response.
PULSE_STATUS_TARGET_NOT_STOPPED
0xC0000045
An attempt was made to query the breakpoint while the target was running.
PULSE_STATUS_DEVICE_CONNECTION_LOST
0xC0000308
The connection to the transport was lost. Try restarting the engine or the transport.

Remarks

Due to transport limitations, the number of breakpoints that can be queried in a single call may be smaller than the number of breakpoints that can be set. To retrieve information about all currently set breakpoints, use a loop that updates the StartBreakPointId parameter.

Breakpoint information can be queried only while the target is stopped.