人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

GDBServerの稼動する、リモートのRedHatLinuxマシンに対して、Windows上のGNU gdb 5.2.1からリモートデバッグをする方法がわかりません。
C:\>gdb
GNU gdb 5.2.1
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i686-pc-mingw32".
(gdb) target remote 172.16.12.249:10000 /home/innami/helloworld
172.16.12.249:10000 /home/innami/helloworld: No such file or directory.

のように、ターゲットプログラムを見つけてくれません。方法を教えてください。

●質問者: y-innami
●カテゴリ:コンピュータ
✍キーワード:as chAngE copyright gdb GNU
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● hujikojp
●35ポイント

実行ファイルは targetコマンドではなく、gdb起動時の引数か fileコマンドを使って指定します。

もちろん、それをやる前提として、local側の file systemに実行ファイル (ソースコードデバッグするならもちろんソースコードも) が必要です。

ちなみにちょっと心配になったのですが、gdbを実行する環境が (mingwなど) remoteの環境と異なる場合、cross-debug用に configureされた gdbも必要になります。念のため。

◎質問者からの返答

レスポンスが遅くなり申し訳ありません。

シンボルテーブルを別途fileコマンドでローカルの実効モジュールから読み込む必要があると言うことですね。

クロスでバッグ用のgdbが必要と言うことは、近日になってやっと気づいたところです。

mingw,cygwinをgdb実効マシン、Linuxをリモートマシンとする場合どのようにクロスでバッグを用意すればよいでしょうか。教えて下さい。


2 ● hujikojp
●35ポイント

cross debuggerは Unix同士の環境上でしか使ったことがないので、あくまで一般論ですが:

  1. gdbのソースを取得 (remote側の gdbserverと versionが同じなのが好ましい。 gdbserverの versionは gdbserver --versionででます)
  2. local (cygwin or mingw) でソースを展開。
  3. ./configure --target=i586-pc-linux
  4. Makefileができるので make && make install

これでできるはずです。忙しいので気分転換にこちらでも試してみよう...

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ