gdb on Meadow
cygwinのgdbはスタックトレースがたどれないことがあったり正常終了とセグフォの区別もつかなかったりとお話にならないので、Linuxのgdbを使う以外に選択肢はない。なら最初からLinuxで書けばいいじゃん、ということになる人がうらやましい。ぼくはWindowsから離れられない半端者なので...
やった作業を全部書くのはしんどいので箇条書きで。
- coLinux導入
- Meadowのinferior shellとしてssh経由でcoLinuxのシェルを叩くようにした
- fakecygpty と cocot にお世話になった。
- gdbから送られてくるパス情報をインターセプトして書き換え
(defadvice gdb-source (after gdb-source-rewrite activate) "gdb-source-rewrite" (setcar gud-last-frame (replace-regexp-in-string "^/home/fate/" "c:/home/" (car gud-last-frame))) )
結果。