2

GDB を使用してリモート アプリケーションをデバッグするためにデバッグしたいと考えています。

私のターゲットシステムは、実行中の FreeBSD 8.3 ボックスgdbserverです。アプリケーションはそのボックスで正常にコンパイルされました。私の Eclipse CDT 4.2 は、最新の MinGW がインストールされた Windows 7 で動作します。

これは、デバッグしたい外部プログラムです。これは私が書いたものではなく、ライブラリとして持っているものでもありません。私は自分のプログラムを書くつもりはありません。この場合、デバッグしたいのは Subversion 1.8.0-dev です。

簡単な C プロジェクトを作成し、Subversion のソースを添付しました。リモート デバッグ構成を作成し、ソースを実行中のスレッドにアタッチしましたgdbserver

これで、Eclipse はmainSubversion の機能に入りますが、添付された別のソース ファイルにブレークポイントを設定すると、Eclipse は次のようra_loader.cに言います。

次に、アプリケーションが存在するだけです。

ここで何が欠けていますか?

4

1 に答える 1

0

このスレッドで行われた提案を試してください

引用 :

  • 1)デバッグセッションを実行し、Eclipse内でgdbコンソールを開き
    ます([コンソール]タブ->[選択したコンソールの表示]ボタン->[gdb]で終わるコンソールを選択します)

  • 2)コンソールでコマンド「pwd」を使用して、gdbの現在の作業ディレクトリを出力します

  • 3)コマンド「infoline main」を使用して、gdbが「intmain(...)」関数を見つけることを期待しているソースファイルを取得します

  • 4)ステップ2の結果をステップ3の結果(相対パスである必要があります)と連結して、必要な正しいソースファイルと一致するかどうかを確認します

  • 5)手順4で正しい一致が得られるまで、gdbで「cd」コマンドを使用します(現在の作業ディレクトリを変更します)。gdbの初期作業ディレクトリ(2)と正しい作業ディレクトリ(5)がわかっているので、2つのオプションがあります。 :1)デバッグセッションを起動するたびにgdbの「cd」コマンドを使用します(これを自動的に行うには、gdbの初期作業ディレクトリに.gdbinitファイルを設定できます)。または2)「DebugConfigurations」の「Source」タブを設定します。 、Eclipseにgdbの最初の作業ディレクトリと一致するパスを使用させるため(「プロジェクト-ソースフォルダに相対的なパス」が機能しました)

于 2012-10-27T06:59:52.470 に答える