在Ubuntu 17.10 docker容器上使用gcc的地址消毒器失败

在Ubuntu 17.10 docker容器上使用gcc的地址消毒器失败,docker,gcc,address-sanitizer,ubuntu-17.10,Docker,Gcc,Address Sanitizer,Ubuntu 17.10,在Ubuntu17.10 docker容器上执行用gcc 7.2.0编译的二进制文件失败,错误如下: ==5==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc) LSan(执行泄漏检查)通过ptrace连接到被测程序。它在docker下无法执行此操作,因为它没有权限。 可以通过使用以下两个选项中的任意一个以特权运行docker容器来解决此问题: docker run .... --privileged 或者

在Ubuntu17.10 docker容器上执行用gcc 7.2.0编译的二进制文件失败,错误如下:

==5==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)
LSan(执行泄漏检查)通过
ptrace
连接到被测程序。它在docker下无法执行此操作,因为它没有权限。 可以通过使用以下两个选项中的任意一个以特权运行docker容器来解决此问题:

docker run ....   --privileged
或者更具体地说:

docker run ....   --cap-add SYS_PTRACE

--cap add SYS_PTRACE
是CI和自动化的首选选项,因为它仅将权限限制为
PTRACE

如何将生成core所需的ASAN标志传递给docker环境?