当使用带有 gcc 的 sanitizer 时,可以提供一个异常/抑制列表来处理误报等。
抑制文件格式记录不全。
每个抑制的形式都是
name_of_check:path_or_name
name_of_check
的有效值是什么? ?
最佳答案
我求助于从源代码中获取值。这些基于 gcc 10.1:
ubsan
/undefined
- 见 libsanitizer/ubsan/ubsan_checks.inc
undefined
null
pointer-overflow
alignment
object-size
signed-integer-overflow
unsigned-integer-overflow
integer-divide-by-zero
float-divide-by-zero
invalid-builtin-use
implicit-unsigned-integer-truncation
implicit-signed-integer-truncation
implicit-integer-sign-change
shift-base
shift-exponent
bounds
unreachable
return
vla-bound
float-cast-overflow
bool
enum
function
returns-nonnull-attribute
nonnull-attribute
vptr
cfi
asan
/address
- 见 libsanitizer/asan/asan_suppressions.cpp
interceptor_name
interceptor_via_fun
interceptor_via_lib
odr_violation
lsan
/leak
- 见 libsanitizer/lsan/lsan_common.cpp
leak
tsan
/thread
- 见 libsanitizer/tsan/tsan_suppressions.h
none
race
race_top
mutex
thread
signal
called_from_lib
deadlock
关于gcc - gcc 的有效 sanitizer 抑制字符串是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48267394/