Sets a breakpoint.
PPS_ENGINE pEngine
An opaque handle to an engine created by the EngCreateEngine function.
uint64_t PhysicalAddress
The physical address of the breakpoint.
uint16_t* pBreakPointId
Receives the breakpoint ID.
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_RESOURCES0xC0000002 | One of the memory allocations failed during initialization. |
| PULSE_STATUS_READ_FAILED0xC0000003 | Transport communication failed during a read operation. |
| PULSE_STATUS_WRITE_FAILED0xC0000004 | Transport communication failed during a write operation. |
| PULSE_STATUS_TIMEOUT0xC0000007 | Might happen if
|
| PULSE_STATUS_INVALID_PARAMETER0xC0000010 | Might happen if
|
| PULSE_STATUS_INVALID_PACKET0xC0000031 | An invalid or unexpected packet was received in response. |
| PULSE_STATUS_TARGET_NOT_STOPPED0xC0000045 | An attempt was made to set the breakpoint while the target was running. |
| PULSE_STATUS_BREAKPOINT_TABLE_FULL0xC0000102 | The breakpoint count limit has been reached. |
| PULSE_STATUS_DEVICE_CONNECTION_LOST0xC0000308 | The connection to the transport was lost. Try restarting the engine or the transport. |
A breakpoint can be set only at a physical address. As a result, the breakpoint is triggered at all locations to which that physical address is mapped. To prevent a breakpoint from stopping the target at undesired locations, use breakpoint filters. Refer to the PsAddBreakPointFilter function for more information.
A breakpoint can be set only while the target is stopped.
The current maximum breakpoint count is 1024.