我正在调试一个编译好的(c++) python模块,它在端口容器中的导入时神秘地崩溃。当我在python3内部运行gdb时,然后导入,然后尝试打印回跟踪,我只得到
# gdb /usr/bin/pyton3
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.
...
(gdb) run -c 'import myModule'
warning: Error disabling address space randomization: Operation not permitted
During startup program terminated with signal SIGSEGV, Segmentation fault.
(gdb) bt
No stack.
(gdb)在码头集装箱内,gdb能(不)做些什么限制吗?崩溃本身是令人惊讶的,但无法调试它就更令人吃惊了。该模块是用-ggdb2编译的,以尽可能多地包含调试信息。
发布于 2017-07-11 13:04:38
为了记录在案:调试(也包括strace)需要CAP_PTRACE功能。通过使用--privileged运行容器解决了这个问题。
https://stackoverflow.com/questions/45033813
复制相似问题