86得票6回答
在Xcode中启用AddressSanitizer的正确方法是什么?请提供CMake的实现方式。

我已经按照如下方式添加了 AddressSanitizer 标志:set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address") 使用Unix Makefiles时,一切构建和运行都很好。 生成Xcode项目时出现问题,因为它找不到...

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

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

9得票3回答
泄漏和地址有什么区别?

我在项目中使用了 -fsanitize=leak 和 -fsanitize=address。 我原以为leak可以找到内存泄漏(未释放的内存),而address可以找到错误的内存访问。 但是address也会报告未删除的内存泄漏。那么,-fsanitize=leak 的作用是什么呢?

13得票1回答
Python扩展中的地址消毒剂

我试图使用地址检查器(Address Sanitizer)编译Python扩展。但是当我加载这个扩展时,我遇到了Traceback (most recent call last): File "test.py", line 2, in <module> from ext...

7得票3回答
如何在发出SIGINT以停止循环时获取地址检查器的输出

当我编译这个简单的测试程序时,地址泄漏检测器会给出明显的泄漏报告。但是当我编译相同的程序,但加上一个无限循环,并在发出SIGINT中断信号后中断它时,却没有任何输出。 检查汇编代码,malloc未被优化掉(如果可能的话)。 这是地址泄漏检测器的预期行为吗?我在其他开发中没有遇到这个问题。 ...

9得票2回答
AddressSanitizer 抑制

我想要在clang/gcc中抑制地址检测器的警告。 我的源文件如下: int foo(){ double bar[] = {7,8}; return bar[3]; } int main(){ return foo(); } 显然,在第三行存在溢出。 抑制文件(myas...

8得票1回答
Visual Studio 22 - Asan - 使用和重新启动外部符号化程序失败

我正在尝试为 Visual Studio 2022 配置 Asan Address Sanitizer。我正在按照 MS 的指南进行操作:https://learn.microsoft.com/en-us/cpp/sanitizers/asan?view=msvc-170#ide-msbuil...

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

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

15得票3回答
Clang 8与MinGW-w64: 如何使用地址和UB(未定义行为)检测器?

Clang 8 release notes中有这样一句话: 允许在MinGW上使用地址和未定义行为Sanitizer。 然而,我无法弄清楚如何正确使用它们。 我正在使用带有MSYS2 MinGW GCC的Clang 8.0.0。确切的细节在问题底部。 我尝试编译以下...