elicpse/CDTでのgdbでのソースを追従したデバッグができない問題

2021年2月25日

どもです。
今回のエントリーは、Eclipse上でgdbを利用したデバッグ中に発生する問題について、です。

なお、PCのスペック、Eclipseおよびgdbのバージョンは、以下の通りです。

OS Windows7 Professional SP1(64bit)
プロセッサ Intel Core-i7-3770K 3.50GHz
メモリ 16.0 GB
Eclipse Kepler Service Release2
Eclipse (Cygwin 7.10.1-1) 7.10.1

1.発生している問題

eclipseでgdbによるステップ実行した際に、ソース上の実行箇所を表示ができない。

2.原因

デバッグ対象のソースコードの配置場所が、eclipseに設定されていないため、この現象が発生します。

3.対策・解決方法

「パスマッピング」を設定することで解決できます。
「パスマッピング」は、以下の場所から設定できます。
(メニューバー)[ウィンドウ]->[設定](ここで、「設定」ダイアログが表示されます。
設定の場所
(ダイアログ内ツリー)[C/C++]→[デバッグ]→[ソースルックアップパス]
ルックアップパスの表示
ここで[追加]ボタンを押します。
すると、[ソースの追加]ダイアログが表示されますので、[パス・マッピング]を選択して[OK]を押します。
パスマッピングの例
設定する名前はテキトーに決めて問題ないです(たぶん…)。
「コンパイルパス」には、「cygwin上でのパス」を設定します。
「ローカル・ファイル・システム・パス」には、「PC上でのパス」を設定します。
たとえば、Eドライブを「パス・マッピング」に設定する場合には、

  1. 「コンパイル・パス」→[cygdrive\e]
  2. 「ローカル・ファイル・システム・パス」→「E:\」

を設定します。
これらの設定を行うことで、ソースを追いながらのデバッグが可能になります。

4.まとめ

以上、今回はソースコードを追いながらのデバッグができない問題を解決する方法を書きました。
では。