Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
interface: fix tx queue runtime update
[vpp.git]
/
docs
/
troubleshooting
/
sanitizer.rst
diff --git
a/docs/troubleshooting/sanitizer.rst
b/docs/troubleshooting/sanitizer.rst
index
af23994
..
217f5e5
100644
(file)
--- a/
docs/troubleshooting/sanitizer.rst
+++ b/
docs/troubleshooting/sanitizer.rst
@@
-1,15
+1,15
@@
.. _sanitizer:
.. _sanitizer:
-**************
+**************
***
Google Sanitizers
Google Sanitizers
-**************
+**************
***
VPP is instrumented to support `Google Sanitizers <https://github.com/google/sanitizers>`_.
As of today, only `AddressSanitizer <https://github.com/google/sanitizers/wiki/AddressSanitizer>`_
VPP is instrumented to support `Google Sanitizers <https://github.com/google/sanitizers>`_.
As of today, only `AddressSanitizer <https://github.com/google/sanitizers/wiki/AddressSanitizer>`_
-is supported
and only for the heap
.
+is supported
, both for GCC and clang
.
AddressSanitizer
AddressSanitizer
-==============
+==============
==
`AddressSanitizer <https://github.com/google/sanitizers/wiki/AddressSanitizer>`_ (aka ASan) is a memory
error detector for C/C++. Think Valgrind but much faster.
`AddressSanitizer <https://github.com/google/sanitizers/wiki/AddressSanitizer>`_ (aka ASan) is a memory
error detector for C/C++. Think Valgrind but much faster.
@@
-20,27
+20,26
@@
build option, so all VPP targets should be supported. For example:
.. code-block:: console
# build a debug image with ASan support:
.. code-block:: console
# build a debug image with ASan support:
- $ make rebuild VPP_EXTRA_CMAKE_ARGS=-DENABLE_SANITIZE_ADDR=ON
+ $ make rebuild VPP_EXTRA_CMAKE_ARGS=-D
VPP_
ENABLE_SANITIZE_ADDR=ON
....
# build a release image with ASan support:
....
# build a release image with ASan support:
- $ make rebuild-release VPP_EXTRA_CMAKE_ARGS=-DENABLE_SANITIZE_ADDR=ON
+ $ make rebuild-release VPP_EXTRA_CMAKE_ARGS=-D
VPP_
ENABLE_SANITIZE_ADDR=ON
....
# build packages in debug mode with ASan support:
....
# build packages in debug mode with ASan support:
- $ make pkg-deb-debug VPP_EXTRA_CMAKE_ARGS=-DENABLE_SANITIZE_ADDR=ON
+ $ make pkg-deb-debug VPP_EXTRA_CMAKE_ARGS=-D
VPP_
ENABLE_SANITIZE_ADDR=ON
....
# run GBP plugin tests in debug mode with ASan
....
# run GBP plugin tests in debug mode with ASan
- $ make test-debug TEST=test_gbp VPP_EXTRA_CMAKE_ARGS=-DENABLE_SANITIZE_ADDR=ON
+ $ make test-debug TEST=test_gbp VPP_EXTRA_CMAKE_ARGS=-D
VPP_
ENABLE_SANITIZE_ADDR=ON
....
....
-Once VPP has been built with ASan support, you can use it as usual. When
-running under a debugger it can be useful to disable LeakSanitizer which is
-not compatible with a debugger and displays spurious warnings at exit:
+Once VPP has been built with ASan support you can use it as usual including
+under gdb:
.. code-block:: console
.. code-block:: console
- $
ASAN_OPTIONS=detect_leaks=0
gdb --args $PWD/build-root/install-vpp_debug-native/vpp/bin/vpp "unix { interactive }"
+ $ gdb --args $PWD/build-root/install-vpp_debug-native/vpp/bin/vpp "unix { interactive }"
....
....