鬼門なのかしら。
ウィンドウタイトルの調査の続きをしようとしています。ふと見かけたのが以下の解説です。
MinGW クロスデバッグ
http://bitwalk.sitemix.jp/mingw_cross_debug.php
gdbでリモートデバッグする場合、
- デバッギをターゲット上でgdbserverから起動する
- 起動済みのデバッギの場合は--attach指定すればよい
- リモートホストからgdbを起動(リモート指定)
というだけのことです。ソースレベルデバッグをしたいわけですから、
- デバッギはターゲット上にある
- ソースはリモートホストにある
ということですね。組み込みのクロス開発では普通のことかと思います。
いまやりたいことはWindows上で動作するXming.exeをUbuntu上でコンパイルしているのですから、
- ターゲットはWindowsなのでWindows用gdbserverがあればよい
- デバッガはMingw32対応のgdbがあればよい
ということになると理解しています。
Windows用の(Mingw32の)gdbserverは、http://sourceforge.net/projects/mingw-cross/files/にあるんですが、Mingw32用のgdbがFedora11用のパッケージしかないんですよねぇ。
Ubuntuに無理やり入れたら動くのかなぁ。それともソースパッケージを無理やり入れてコンパイルするのかなぁ。
と悩んでググってみると、そのものずばりは見つからず。例えば、Windows用のinsight.exeをwine上で動かすとか。
Howto - Cross Compiling in Linux using MingW32
http://forums.codeblocks.org/index.php/topic,3343.0.html
Wine上でXming.exeが動けばそれでも構わないんですが。
Windows上にソースを持ってきて、MSYS上でgdbからattachできれば、とりあえずそれでいいですかね。ただそれだと結局トライアンドエラーがめんどうでちっとも進まない気がします。*1
あ~XmingをCygwin上でmakeすりゃいいのか。そうすりゃCygwin上のgdbからattachできるってか。*2
コンパイル時間とクロス&リモートgdb*3の遠回りをするくらいなら、MSYSで一気通貫したいんですが、ひっかかるのは、http://www.freedesktop.org/wiki/Xming/Buildingに、
Compiling
Since I've not setup MinGW I can't tell you if this works. But cross compiling from Cygwin or Linux does work. Check the next section about it.
と書いてあること。
というわけで次のステップはこんな感じ
- Fedora11用のパッケージをUbuntuにぶちこんでみる
- Wine上でXmingが動くかな
- MSYS上でコンパイル&gdbまたはgdbのみチャレンジ
- 最悪printfデバッグで我慢する
参考リンク:
GDB/GDBserverによるクロスターゲットのリモートデバッグ (3/3)
http://www.itmedia.co.jp/enterprise/articles/0711/30/news095_3.html
コメント