I'm macOS Big Sur. AFAIK, Valgrind doesn't support this OS yet. At least I've tried this.
After some Googling, I switched to LeakSanitizier and tested this C code:
#include <stdlib.h>
void *p;
int main() {
p = malloc(7);
p = 0; // The memory is leaked here.
return 0;
}
This post pointed that clang shipped with macOS doesn't have -fsanitize=address
support enabled. So I installed clang from homebrew:
/usr/local/opt/llvm/bin/clang --version
clang version 11.0.0
Target: x86_64-apple-darwin20.1.0
Thread model: posix
InstalledDir: /usr/local/opt/llvm/bin
OK, let's try it:
Ancalagon:Codes anta40$ /usr/local/opt/llvm/bin/clang -g -fsanitize=address leak1.c -o leak1
Ancalagon:Codes anta40$ ./leak1
Ancalagon:Codes anta40$
Nothing happens. Perhaps try llvm-symbolizer
Ancalagon:Codes anta40$ /usr/local/opt/llvm/bin/llvm-symbolizer ./leak1
./leak1
Same result. Perhaps I'm missing something here?