2016-10-17 11 views
0

私はUbuntuのEclipse CDTのCプロジェクトで作業しています。プロジェクトには、異なるコマンドラインパラメータを持つバイナリrun_testsを呼び出すいくつかのテストスイートがあります。テストスイートは、Makefilesで定義され、プロジェクトルートにmake checkを実行して呼び出されます。Eclipse - GNU Makeで起動されたテストスイートをデバッグします。

私の目標は、テストスイートをデバッグするためにEclipseでデバッグ設定をセットアップすることです。私は、次のワークフローを持つようにしたい:テストスイート

  • を実行するためにrun_tests
  • 起動デバッグ構成にブレークポイントを設定し

    1. は、どのように私はこれを達成することができますブレークポイントはEclipseの
    2. 内部で打撃を受けて

    を参照してください。 ?これまで

    私の考え

    1. 直接makeを使用せずにrun_testsを実行するために、デバッグ構成を設定するのは簡単です。しかし、これにより私は手動でコマンドラインパラメータを設定しなければならないので、make checkは私のために考えなければなりません。

    2. run_tests arg1 arg2の代わりにgdb --args run_tests arg1 arg2を実行するようにmakefileルールを編集することができました。しかし、Eclipseはそのgdbインスタンスを認識して統合しますか?

    3. Windowsでは、makefileルールを編集してvsjitdebugger run_tests arg1 arg2を実行することができました。 LinuxのEclipse用にvsjitdebuggerに相当するものはありますか?ここで

  • 答えて

    0

    解決策は以下のとおりです。

    1. セット "は/ usr/binに/作る" ためのC/C++アプリケーションを設定し
    2. "C/C++アプリケーション" デバッグコンフィギュレーションを作成します。

    3. gdbinitファイルに次のことを書く「チェック」するためのコマンドライン引数

      set detach-on-fork off 
      set target-async on 
      set non-stop on 
      set pagination off 
      
      # Not necessary but improves performance 
      set auto-solib-add off 
      

    注意:GDBはmakeによって開始され、すべてのフォークに続くように、このソリューションは、痛々しいほど遅くなることがあります。たとえば、make/bin/cpを1000回起動してセットアップファイルをコピーする場合、gdbはこれらのプロセスのすべてをデバッグします。

    関連する問題