15

Linuxボックスに接続し、そこでC++コードをリモートでコンパイルおよびデバッグするために、Eclipse(Windows)と戦っています。

私が働いているもの:

  • CDT/RSE/RDT インストール済み (Eclipse Juno、CDT 8.1.2、PTP(RDT) 6.0.4、RSE 3.4)
  • rdt-server は Linux ボックスで実行されます ( perl ./daemon.pl 4075)
  • ローカル C++ プロジェクトを作成する (Makefile ベース)
  • ローカル C++ プロジェクトのコンパイルとデバッグ
  • リモート プロジェクトを作成する (rdt サーバーへの「Linux」接続を使用)
  • リモート プロジェクトをコンパイルする (Makefile ベース)

私ができるいくつかの手動のこと(Eclipseなし):

  • コンパイル済みプロジェクトを「リモート」デバッグします。ssh mybox 'cd /path/to/project; gdb main'
  • gdbserver を開始します。ssh mybox 'cd /path/to/project; gdbserver fqdn:10000 main'

何が機能していないか: Eclipse でデバッグする

  • 「C++ アプリケーション」エラーによるデバッグ:プログラムが指定されていません (ローカル コードがないため)
  • 「C++ リモート」エラーによるデバッグ:プログラムが指定されていません (ローカル コードが必要ですか?)
  • 「C++ attach」によるデバッグ (デバッガー: 「gdbserver」)
    • linuxbox で実行されている gdbserver
    • gdb は gdbserver と通信できません (cygwin gdb 7.5、linux gdb/gdbserver 7.3)。警告: アーキテクチャは、ターゲット提供の説明を拒否しました。
  • 「C++ アタッチ」(デバッガー: 「gdb」) によるデバッグは、Windows プロセスにアタッチしようとします。

問題を引き起こす可能性のあるその他の事柄:

  • sshMSYS/Git で提供されているバイナリを使用しています ( ではありませんPATH)
  • CygwinがオンになっていませんPATH

C++ プロジェクトのために Eclipse でリモート デバッグを行いたいと思っています。ここから先に進む方法について何か提案はありますか?

4

5 に答える 5

1

このプラグインを Eclipse で 試すことができます。並列アプリケーションのバージョンについては、ここにリンクがあります。

Windows マシンから Linux 上のプログラムへの開発では問題なく動作します。

于 2015-10-20T18:15:13.893 に答える
1

「「C++ リモート」エラー経由でデバッグ: プログラムが指定されていません (ローカル コードが必要ですか?)」

はい、シンボルはコードのローカル コピーから読み込まれるためです。

このタイプの起動構成のデバッガー タブには、リモート サーバーとポートの設定があります。gdbserver の起動時に指定したマシン名とポートを使用します。

私の知る限り、ローカルのWindowsマシンで実行されているgdbはLinuxプログラムのデバッグをサポートしていないため、これはまだ機能しません。gdb のクロス ビルド (host=mingw-or-something および target=linux で構成およびビルド) が必要になります。

于 2013-03-29T07:21:01.540 に答える
1

残念ながら、この質問はまだ望ましい解決策にはなっていません。それにもかかわらず、私が実際に問題を「解決」した方法に興味があるかもしれません。

現在、Linux ボックスで直接開発を行っており、すべてをリモートで行っています。Linux ボックスにデスクトップ ユーザーをセットアップし、VNC 経由でログインして Eclipse を実行し、それを のフロントエンドとして使用しgdbます。VNC は最善の解決策ではありませんが (後で NX を試すことになるかもしれません)、この解決策によりgdbserver、RSE/RDT に関する問題から解放されます。

于 2013-04-11T12:37:15.573 に答える