pub fn breakpoint()breakpoint #133724)Expand description
Compiles to a target-specific software breakpoint instruction or equivalent.
This will typically abort the program. It may result in a core dump, and/or the system logging debug information. Additional target-specific capabilities may be possible depending on debuggers or other tooling; in particular, a debugger may be able to resume execution.
If possible, this will produce an instruction sequence that allows a debugger to resume after the breakpoint, rather than resuming at the breakpoint; however, the exact behavior is target-specific and debugger-specific, and not guaranteed.
If the target platform does not have any kind of debug breakpoint instruction, this may compile to a trapping instruction (e.g. an undefined instruction) instead, or to some other form of target-specific abort that may or may not support convenient resumption.
The precise behavior is not guaranteed, it depends on the architecture and operating system. Not all architectures guarantee that a breakpoint instruction interrupts execution in the absence of a debugger, and not all operating systems and execution environments guarantee that such an interrupt aborts the current process.
The precise instruction is guaranteed only on the following targets:
- On x86 targets, this produces an
int3instruction. - On aarch64 targets, this produces a
brk #0xf000instruction.