Update building documentation with new debugging options
This commit is contained in:
parent
a1d3f3486e
commit
bdf7fb9e95
|
@ -194,6 +194,40 @@ passed via the OCE_DIR flag. This option is enabled by default.
|
|||
Alternatively KICAD_USE_OCC can be used instead of OCE. Both options are not supposed to be enabled
|
||||
at the same time.
|
||||
|
||||
## Development Analysis Tools ## {#dev_tools}
|
||||
|
||||
KiCad can be compiled with support for several features to aid in the catching and debugging of
|
||||
runtime memory issues
|
||||
|
||||
### Valgrind support
|
||||
|
||||
The KICAD_USE_VALGRIND option is used to enable Valgrind's stack annotation feature in the tool framework.
|
||||
This provides the ability for Valgrind to trace memory allocations and accesses in the tool framework
|
||||
and reduce the number of false positives reported. This option is disabled by default.
|
||||
|
||||
### C++ standard library debugging
|
||||
|
||||
KiCad provides two options to enable debugging assertions contained in the GCC C++ standard library:
|
||||
KICAD_STDLIB_DEBUG and KICAD_STDLIB_LIGHT_DEBUG. Both these options are disabled by default, and only
|
||||
one should be turned on at a time with KICAD_STDLIB_DEBUG taking precedence.
|
||||
|
||||
The KICAD_STDLIB_LIGHT_DEBUG option enables the light-weight standard library assertions by passing
|
||||
`_GLIBCXX_ASSERTIONS ` into CXXFLAGS. This enables things such as bounds checking on strings, arrays
|
||||
and vectors, as well as null pointer checks for smart pointers.
|
||||
|
||||
The KICAD_STDLIB_DEBUG option enables the full set of standard library assertions by passing
|
||||
`_GLIBCXX_DEBUG` into CXXFLAGS. This enables full debugging support for the standard library.
|
||||
|
||||
### Address Sanitizer support
|
||||
|
||||
The KICAD_SANITIZE option enables Address Sanitizer support to trace memory allocations and
|
||||
accesses to identify problems. This option is disabled by default. The Address Sanitizer
|
||||
contains several runtime options to tailor its behavior that are described in more detail in its
|
||||
[documentation](https://github.com/google/sanitizers/wiki/AddressSanitizerFlags).
|
||||
|
||||
This option is not supported on all build systems, and is known to have problems when using
|
||||
mingw.
|
||||
|
||||
## Demos and Examples ## {#demo_install_opt}
|
||||
|
||||
The KiCad source code includes some demos and examples to showcase the program. You can choose
|
||||
|
|
Loading…
Reference in New Issue