Go语言gdb调试踩坑

EDELWEISS_21g · · 876 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

整个是一个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 TaggartJun 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里面去了


本文出自 “马兵的博客” 博客,请务必保留此出处http://3732370.blog.51cto.com/3722370/1885740


有疑问加站长微信联系(非本文作者)

本文来自:51CTO博客

感谢作者:EDELWEISS_21g

查看原文:Go语言gdb调试踩坑

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

876 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传