以下程序在空指针取消引用时崩溃:
#include <stdlib.h>
char *p;
int main(void) {
p = malloc(42);
p = NULL;
*p = 0;
return 0;
}
使用 Valgrind 执行时,仍然会报告内存泄漏(尽管发生了崩溃)。但是,当通过使用 -fsanitize=leak 编译程序来使用 Leak Sanitizer 时,程序会崩溃并且不会报告泄漏。
当程序崩溃时,有没有办法从 Leak Sanitizer 获取报告?