私は次のことをしました:
- Makefile プロジェクトを Eclipse CDT にインポートしました。
- g++ の -ggdb オプションを使用して、コマンド ラインからプログラムをコンパイルしました。
- コマンドラインからプログラムを実行する
- Eclipse CDT にいくつかのブレークポイントを設定する
- 私のプログラムが生成した子プロセスにEclipse CDTデバッガー(gdb)を接続しました(子プロセスは同じプロジェクトからプログラムを実行します)。
この時点で、コンソールにエラー メッセージが表示されます
/home/oswald/Eclipse/CDT/Workspace/Project/path/to/header.h という名前のソース ファイルはありません。
プログラムを再開すると、すべてのブレークポイントがスキップされます。ブレークポイントを機能させるにはどうすればよいですか?
いくつかの追加メモ:
- 関連する共有ライブラリはありません。
- Eclipse インディゴ、gdb 7.4、Ubuntu 12.04
- コマンド ラインを使用して gdb をプロセスにアタッチすると、
header.h:257
(header.h
is in folder/home/oswald/Eclipse/CDT/Workspace/Project/path/to/
) にブレークポイントを設定できます。次に、gdb はこのブレークポイントを尊重します。 - コマンド ラインを使用して gdb をプロセスにアタッチすると、ブレークポイントを に設定できません
/home/oswald/Eclipse/CDT/Workspace/Project/path/to/header.h:257
。Eclipse CDT を使用する場合と同じメッセージが gdb から表示されます。 - Eclipse CDT は、GDB (DSF) Attach to Process Launcher を使用します。Standard Attach to Process Launcher に切り替えると、システムが実行中のプロセスを一覧表示できないというエラー メッセージが表示されます。
- デバッグ構成のソース ルックアップ パスは、デフォルト (絶対ファイル パス、プログラムの実際のファイル パス、プロジェクト) に設定されています。他のさまざまな設定を試しましたが、どれも機能しませんでした。