在内存极其受限的情况下,怎么做 address sanitizer 之类的工作?

66 天前
wkla  wkla

编译器提供的 -fsanitizer 一般都会占用更多的内存。但是有时候目标平台的内存十分受限,这种情况下怎么做类似的内存检查的工作?

993 次点击
所在节点   程序员  程序员
4 条回复
passive
passive
66 天前
asan 又不用非在目标平台做不可。
本地开发机上 make test 不行吗
yanaraika
yanaraika
66 天前
用轻量级的检查替代,开 -D_GLIBCXX_ASSERTIONS -DFORTIFY_SOURCE=3 + 用带 secure mode 的 malloc 实现 例如 https://github.com/microsoft/mimalloc 。默认 glibc 的 malloc 的开 MALLOC_CHECK_
wkla
wkla
65 天前
@passive 目标机 arm ,程序需要与硬件以及其他基础建设交互。本地 x86 。这种情况怎么在本地做呢?
nullyouraise
nullyouraise
65 天前
如果是 ARM64 的话,可以试试 ARM MTE https://docs.kernel.org/arch/arm64/memory-tagging-extension.html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1097383

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX