Base: Update crash(1) man page

Update the outdated list of options, mention UserspaceEmulator, update
example shell output.
This commit is contained in:
Linus Groh 2021-01-26 09:46:52 +01:00 committed by Andreas Kling
parent f3f2d77624
commit 22df4727b1
Notes: sideshowbarker 2024-07-18 22:50:56 +09:00

View file

@ -10,36 +10,36 @@ $ crash [options]
## Description
This program is used to test how the Serenity kernel handles
userspace crashes, and can be used to simulate many different
kinds of crashes.
This program is used to test how the Serenity kernel or UserspaceEmulator
handle userspace crashes, and can be used to simulate many different kinds
of crashes.
## Options
* `-A`: Test that all of the following crashes crash as intended.
* `-A`: Test that all of the following crash types crash as expected.
* `-s`: Perform a segmentation violation by dereferencing an invalid pointer.
* `-d`: Perform a division by zero.
* `-i`: Execute an illegal CPU instruction.
* `-a`: Call `abort()`.
* `-m`: Read a pointer from uninitialized memory, then read from it.
* `-m`: Read a pointer from uninitialized malloc memory, then read from it.
* `-f`: Read a pointer from memory freed using `free()`, then read from it.
* `-M`: Read a pointer from uninitialized memory, then write to it.
* `-M`: Read a pointer from uninitialized malloc memory, then write to it.
* `-F`: Read a pointer from memory freed using `free()`, then write to it.
* `-r`: Write to read-only memory.
* `-T`: Make a syscall while using an invalid stack pointer.
* `-t`: Trigger a page fault while using an invalid stack pointer.
* `-S`: Make a syscall from writeable memory.
* `-x`: Read from recently freed memory. (Tests an opportunistic malloc guard.)
* `-y`: Write to recently freed memory. (Tests an opportunistic malloc guard.)
* `-X`: Attempt to execute non-executable memory. (Not mapped with PROT\_EXEC.)
* `-X`: Attempt to execute non-executable memory (Not mapped with PROT\_EXEC).
* `-U`: Attempt to trigger an x86 User Mode Instruction Prevention fault.
* `-I`: Use an x86 I/O instruction in userspace.
* `-c`: Read the x86 TSC (Time Stamp Counter) directly.
* `-p`: Violate `pledge()`'d promises.
* `-n`: Perform a failing assertion.
## Examples
```sh
$ crash -F
Testing: "Write to freed memory"
Shell: crash(33) exitied due to signal "Segmentation violation"
Shell: Job 1 (crash -F) Segmentation violation
```