当我尝试运行带有内存完整性检查的 go 单元测试系统时,我收到一条错误消息,我确信我可以通过将编译器设置为 CLANG 来解决该错误消息。
Go 命令文档对此事做了一些简短的介绍。
-msan
enable interoperation with memory sanitizer.
Supported only on linux/amd64, linux/arm64
and only with Clang/LLVM as the host C compiler.
On linux/arm64, pie build mode will be used.
在过去,我使用我通过调用来实现它:
CC=clang go test -msan ./..
但是,当我现在这样做时,会出现以下错误:
g++: error: unrecognized argument to -fsanitize= option: ‘memory’
为了在 Ubuntu 18:04 下使用 memory sanitizer 运行我的 golang 测试,我需要做什么?
我目前正在使用以下版本的工具:
$ go version
go version go1.14 linux/amd64
$ clang --version
clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
幕布斯7119047
相关分类