21得票1回答
在使用-fsanitize=address时如何抑制LeakSanitizer报告?

当我使用-fsanitize=address编译我的C++代码时,软件会在退出时打印出一个泄漏列表。有没有办法避免泄露报告(我只关心内存破坏,不关心泄漏)?我去了ASAN标志页面,但似乎没有这些标志是匹配的。

20得票1回答
什么是AddressSanitizer中的“影子字节”,我该如何解释它们?

我正在调试一份C程序,但是当AddressSanitizer找到问题时,输出的下半部分让我感到非常困惑。我们以这个为例:==33184==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000000005 at pc ...

19得票1回答
MinGW-w64的gcc和地址安全性检查器

安装MinGW-w64 5.1时,我发现有-fsanitize=address选项可用。编译时没问题,但链接时会出现数千个错误:undefined reference to '__asan_report_load1' undefined reference to '__asan_report_...

19得票5回答
如何在使用clang的-fsanitize=address时在调试输出中获取行号?

我试图使用带有asan的clang调试检测到的内存错误,但被valgrind忽略。但是我无法获得我的clang构建二进制文件来提供任何有用的调试信息。我可以通过一个简短的测试程序来证明这一点: #include <stdlib.h> #include <string.h&g...

19得票1回答
从ASAN中获得new-delete-type-mismatch错误

我使用-fsanitize=address编译我的代码,出现了以下错误: ==53702==ERROR: AddressSanitizer: new-delete-type-mismatch on 0x60300000efe0 in thread T0: object passed to...

18得票2回答
AddressSanitizer 拦截器_via_fun

希望能够抑制AddressSanitizer检测到的以下错误。 ==114064==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7ffe60fee2f0 at pc 0x000001e6ef34 bp 0x7ffe6...

17得票1回答
在GCC-6.1中,-fsanitize未使用gold链接器

更新 (2016年9月30日) Ubuntu版本的gcc-6.2 ((Ubuntu 6.2.0-3ubuntu11~16.04) 6.2.0 20160901)已不再存在此问题。 我正在使用Ubuntu版本的gcc-6.1[1] ((Ubuntu 6.1.1-3ubuntu11~14.04....

17得票2回答
MSVC上类似于地址无害化工具的功能

我曾经使用Linux/gcc/clang,现在更多地使用Windows/Visual Studio,但我非常想念地址清单(检查范围、泄漏、使用后释放等)。 我做了一些研究并尝试了一些方法,但都没有找到功能完整且可靠的替代品。例如,我尝试过Dr. Memory,但发现它不能用于基于Qt的程序(...

17得票4回答
编译时出现undefined reference to '_asan_init_v4'错误

当我将使用AddressSanitizer工具编译的代码进行链接时,我遇到了很多这样的错误:undefined reference to '_asan_init_v4'。clang -fPIC -g -fno-omit-frame-pointer -DNDEBUG -Wl,-z,defs \ ...

16得票1回答
临时字符串上的std::string_view——被ASan捕获

这里是悬空指针|引用的示例:#include <string> #include <string_view> #include <iostream> std::string foo() { return "test"; } int main() ...