精華區beta Programming 關於我們 聯絡資訊
※ 引述《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"的狂狷不馴;屬於年少的輕狂色彩