[hellogcc] Re: [hellogcc] Re: [hellogcc] Re: 一起来交流一下gdb的使用技巧吧。

  • From: Ling Kun <lkun.erlv@xxxxxxxxx>
  • To: hellogcc@xxxxxxxxxxxxx
  • Date: Thu, 14 Apr 2011 16:12:45 +0800

current_xxx是作什么用的?

2011/4/14 Mingjie Xing <mingjie.xing@xxxxxxxxx>:
> GCC里有大量的debug_xxx函数,用来方便调试,这些很有帮助。另外,有许多current_xxx全局变量。
>
> 在 2011年4月14日 下午3:26,Liu <proljc@xxxxxxxxx> 写道:
>> 再说一个人工符号执行的方法。
>> 一个逻辑,一种执行是正确的,另一种执行是错误的。两个都next一遍,自己去对比结果。
>> 这个方法作为 条件断点 的补充,因为我看log发现,条件断点设了也白设,根本就不会出现那种情况。
>>
>>
>> On Thursday, April 14, 2011, PcX <xunxun1982@xxxxxxxxx> wrote:
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>     这个不错,原来gdb可以这样用......
>>>
>>>     原来遇到一个给gfortran程序加入条件断点的事情,发现gdb对每种语言的条件断点语法有其本身的规定。
>>>     比如C可以使用 b 7 if i==5 && a==7
>>>       原来以为Fortran也可以用这种格式,发现不行,而且使用F90以上的语法也无法设置条件断点,必须严格采用F77语法:
>>>     b 7 if
>>>       (i.eq.5).and.(a.eq.7)
>>>
>>>
>>>     是不是gdb对其他可以支持的语言(ASM、ADA、objc、java)加入条件断点也是使用专用的语法呢?
>>>
>>>     于 2011/4/14 13:57, Liu 写道:
>>>
>>>       
>>> 多次被渔夫鄙视我不会用gdb,也确实不会用,不知道怎么定位到出问题的地方,要不然就是next半天到不了,要不然就是不小心run过去了。本来可以反向调试的,结果被global给悲剧了。
>>>
>>> 我先来个最简单的:
>>> 首先在终端输入
>>> mips64el-unknown-linux-gnu-gcc -v test.c
>>> 你会得到类似的屏幕输出:
>>> /opt/cross/bin/../libexec/gcc/mips64el-unknown-linux-gnu/4.5.1/cc1
>>> -quiet -v -imultilib . -iprefix
>>> /opt/cross/bin/../lib/gcc/mips64el-unknown-linux-gnu/4.5.1/ test.c
>>> -mel -quiet -dumpbase test.c -mabi=64 -mllsc -mno-synci -mno-shared
>>> -auxbase vaddpd -version -o /tmp/ccYKybvB.s
>>> 这个是真正cc1的编译的命令,不用管那么多,直接复制下来。
>>> gdb --args 跟上刚才上面那一段,就可以调gcc了。
>>>
>>>
>>>
>>>     --
>>> Best Regards,
>>> PcX
>>>
>>>
>>>
>>
>



-- 
http://www.lingcc.com

Other related posts:

  • » [hellogcc] Re: [hellogcc] Re: [hellogcc] Re: 一起来交流一下gdb的使用技巧吧。 - Ling Kun