Go語言gdb調試踩坑

整個是一個docker環境

docker版本: 1.12.1,鏡像是我自己做的基於ubuntu:14.04.05.

容器操作系統版本: Ubuntu 14.04.5 LTS

go版本: 1.6.3


gdb中執行run命令出錯!

 

錯誤輸出:

warning:Error disabling address space randomization: Operation not permitted

環境:docker

 

解決辦法:

warning:Error disabling address space randomization: Operation not permitted

 

結論:

When running within a dockercontainer, I got this error until I added--security-optseccomp=unconfined to the dockerrun. – Cameron Taggart Jun 7 at 4:28

 

來自 <http://stackoverflow.com/questions/35860527/warning-error-disabling-address-space-randomization-operation-not-permitted>

 

 

info goroutines: Undefined info command:“goroutines”

錯誤輸出:

(gdb)info goroutines

Undefinedinfo command: "goroutines". Try "help info".

 

相關資料:

  https://golang.org/doc/gdb

Undefinedinfo command: “goroutines”

Debugging Go Code with GDB

Text filesrc/runtime/runtime-gdb.py

 

結論:

使用GDB調試GO程序

http://www.cnblogs.com/guxuanqing/p/5638363.html

建立~/.gdbinit

add-auto-load-safe-path/usr/local/go/src/runtime/runtime-gdb.py                                                                          

setauto-load safe-path /                                                          

pythonsys.path.append("/usr/share/gdb/python")

 

/usr/local/go/src/runtime/runtime-gdb.py裏面的gdb怎麼搞出來的?

goobjfile= gdb.current_objfile() or gdb.objfiles()[0]

參看上個問題的結論

應該是把/usr/share/gdb/python裏的東西加到sys.path裏面去了


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章