作者peyton87 (小培培)
看板Programming
标题Re: gdb 执行时行号不照顺序,跳来跳去??
时间Sat Apr 7 10:55:58 2007
※ 引述《[email protected] (阿培仔)》之铭言:
: 我最近在除错我写的一个程式,
: 除错的过程中,发现 gdb 的行号不是照顺序来,而是会前後乱跳,
: 虽然稍微前後跑,但整体上还是有照流程在执行...
: 我上网查了一下,这好像是因为下了最佳化 -Ox 的参数所致,
: 可是,我程式的编译过程只用了 -O0 -g3 参数,但还是一样会乱跳...
: 我的程式有用函式库,如果连结的函式库有最佳化,而自己写的程式用 -O0 -g3,
: 是不是还是会乱跳呢?
: 请问大家,该如何解决比较好呢?
: 我的环境:
: MacOSX 10.4, Target: powerpc-apple-darwin8,
: gcc version 4.0.1 (Apple Computer, Inc. build 5367),
: GNU gdb 6.3.50-20050815 (Apple version gdb-573),
: 函式库:ImageMagick 6.3.3 03/29/07 Q16 (以 MacPorts 安装)
我是原作者,今天 Sayya BBS 好像没开,上来 ptt 回文...
我现在知道为什麽会这样了!!
原来是因为 Wand-config 的缘故!
编译参数如下:
-O0 -g3 -Wall `Wand-config --cflags`
而後面的 `Wand-config --cflags` 原来是产生 -g -O2 -Wall -W -D_THREAD_SAFE
难怪会出问题了…
所以看起来,gcc 遇见相同选项但下不同参数,以後面的为优先..?
有空我再查查 gcc manual..
或是有高手要直接教一下 gcc 如何决定选项优先顺序也不错! ^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.232.78.47