用gdb来调试go程序

一直想用gdb来对6l/6g/6a阅读一下代码,结果却总是行数对不上,在go-nuts上问了一下,结果大家讨论到最后讨论成了怎么给6g/6l/6a生成的代码加gdb信息了(我第二天看到邮件时那个汗呀,英文似乎不至于差到这个程度)。今天想来想去觉得应该还是gcc的参数总是,没办法,对这个东西又不熟,那就只有采用一个参数一个参数删除的策略了,结果终于发现-O2这个参数会导致gdb无法进行。这样总是就简单了,google一下gdb O2,还真发现不少文章,其中http://blog.csdn.net/wanxiao009/archive/2010/04/15/5490555.aspx,里有一句话算是盖棺定论了,”gdb 调试时不能用优化选项,否则变量值和源代码无法对应”。这样一来就简单了,将go/src/Make.conf里CFLAGS参数的-O2参数删除即可。

看来,检查问题的步骤里,“check the plug”还是最重要的,一般越诡异的问题越是最基本的原因造成的,因此先看看“电源有没有插”应该是第一步。

你可能感兴趣的:(gdb)