工具
AddressSanitizer
- GCC 4.9 以上支持
- 用
-fsanitize=address
选项编译和链接你的程序。 - 用
-fno-omit-frame-pointer
编译,以得到更容易理解stack trace
。 - 可选择
-O1
或者更高的优化级别编译
gcc -fsanitize=address -fno-omit-frame-pointer -O1 -g use-after-free.c -o use-after-free
strace
https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/strace.html
跟踪进程执行时的系统调用和所接收的信号。
tcmalloc
aot wasm compiler 触发了 tcmalloc 在不停的保存上下文信息,导致内存疯狂增长。