※ 引述《tomhuang.bbs@bbs.sayya.org (阿培仔)》之銘言:
> ※ 引述《tinlans.bbs@whshs.cs.nccu.edu.tw (汀)》之銘言:
> > 其實還是可以在 gdb 裡面用 print 或 printf 印出計算結果,
> > 記得用 -g3 -gdwarf-2 編譯你的程式。
> > 只是還是沒辦法 step into 到 macro 裡面。
> 順便一提... 這個 -gdwarf-2 參數似乎只在 Linux 有效..
> 我在 FreeBSD 和 MacOSX 裡面試過,不能用該參數,也不能把
> macro 展開,在這兩個環境對含有許多 macro 的程式做 debugging
> 似乎是滿麻煩的事...
就目前的狀況我是知道用 FreeBSD 5.x 系統提供的 gcc 3.4.2 是會有問題的,
是可以下 -g3 -gdwarf-2 不會有 error messages,
但是沒有產生正確的 debugging info。
你可以裝 ports 的 lang/gcc41 玩玩看,
它產生出的 debugging info 用 FreeBSD 5.x 內建的 gdb 6.1.1 就可以讀了,
你要 macro expand 還是直接 print 都可以,
跟在 Linux 一樣。
> 還有,在 Linux 中就算不加 -gdwarf-2 參數,還是可以展開
> macro,那加了這個參數是什麼意思呢?
這要看你系統是怎樣對 gcc 設定組態的,
我這邊的 debian 是一定要下 -g3 -gdwarf-2 才可以,
不然會出現「GDB has no preprocessor macro information for that code.」。
--
Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net
School: National Chung Cheng University
Department: Computer Science and Information Engineering
Researching: Porting GCC and Implementing VLIW instruction scheduler in GCC
Homepage: https://it.muds.net/~uranus
--
╔═══╗ ┼────────────────────────╮
║狂狷 ║ │* Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮
║ 年少║ ┼╮ < IP:140.119.164.16 > ╰─╮
╚╦═╦╝ ╰ * From:218-171-137-64.dynamic.hinet.net
─╨─╨─ KGBBS ─ ◎ 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩 ◎