mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-08-02 13:06:21 +00:00
docs: Add section about sanitizers to contributing.md
Signed-off-by: Michael Vetter <jubalh@iodoru.org>
This commit is contained in:
@@ -287,6 +287,20 @@ scan-build meson setup build_run
|
|||||||
scan-build meson compile -C build_run
|
scan-build meson compile -C build_run
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Runtime Analysis with Sanitizers
|
||||||
|
Developers and testers should compile and run Profanity with **AddressSanitizer (ASan)** and **UndefinedBehaviorSanitizer (UBSan)** enabled. While static analysis can find potential issues in the source code, sanitizers monitor the application while it is actually running.
|
||||||
|
|
||||||
|
By running the application and exercising specific features, you trigger real world code paths that might contain memory leaks, buffer overflows, or undefined behavior that only manifest at runtime.
|
||||||
|
|
||||||
|
To build with sanitizers enabled and enable debug logging:
|
||||||
|
```bash
|
||||||
|
meson setup build_run -Db_sanitize=address,undefined
|
||||||
|
meson compile -C build_run
|
||||||
|
./build_run/profanity -l DEBUG
|
||||||
|
```
|
||||||
|
|
||||||
|
**Performance Note:** Sanitizers add significant overhead.
|
||||||
|
|
||||||
### Finding typos
|
### Finding typos
|
||||||
We include a `.codespellrc` configuration file for `codespell` in the root directory.
|
We include a `.codespellrc` configuration file for `codespell` in the root directory.
|
||||||
Before committing it might make sense to run `codespell` to see if you made any typos.
|
Before committing it might make sense to run `codespell` to see if you made any typos.
|
||||||
|
|||||||
Reference in New Issue
Block a user