close

 Trace Code 不使用最佳化編譯

在 Debug 的時候,常會需要 trace code,但是偶爾會遇到無法trace的狀況,

因為該段已經被編譯器最佳化了,因此需要將最佳化去除

[參考] http://www.cs.utk.edu/~vose/c-stuff/onlinedocs/gdb_7.html
不要最佳化 ( 查 gcc manpage 得知 -O0 可以取消最佳化 )

在 configure 的時候加上 CFLAGS

註: 因為如果有設定 CFLAGS 的話,在 configure 裡是會直接採用我們提供的 CFLAGS。

因此縱使加上 --enable-debug 也沒有用,configure 不會幫你加 -g 進去。

CFLAGS="-g -O0" ./configure

Ps: 有時候 -O0 將無法編譯成功,可以試著使用 -O1

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 BB 的頭像
    BB

    Welkin小窩

    BB 發表在 痞客邦 留言(0) 人氣()