2017-07-11 54 views
2

我正在調試一個編譯的(C++)python模塊,它在導入時在docker容器內神祕崩潰。當我運行裏面gdb python3,然後導入,然後再嘗試打印回溯,我只得到Docker中的調試限制是什麼?

# 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以包含儘可能多的調試信息。

回答

5

備案:調試(還有strace)需要CAP_PTRACE的能力。通過運行容器--privileged解決了問題。