のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

コマンドラインのgdbclientの方法を応用し、eclipseでC言語のデバッグ

android gdb debug - のねの日記
コマンドラインのgdbclientの方法を応用し、eclipseでデバッグ - のねの日記
linuxでのgdbclientの使い方 - のねの日記

端末側
>adb shell
$su
#gdbserver :5039 --attach 1984
※PID=1984とする

eclipse
C++のプロジェクトを作成する。
Debug ConfigのEdit
C/C++Applicationを新しく作成する。

  • メニューのFile>New>Project...をクリックする。
    • New Projectダイアログが開く。
      • Select a wizard>c++ Projectを選択する。
      • Next>をクリックする。
      • Project name:cpp_prj(何でもいいので名前をつける。)
      • Project type:Empty Projectを選択。
      • Finishをクリックする。
  • メニューのRun>Debug Configulationsをクリックする。
  • c/c++ Attach to Applicationで右クリックをし、Newを選択する。

設定は以下の通りです。

  • Main Tab
    • C/C++ Application:
      • /home/m_fujii/JB411R4/out/target/product/maguro/symbols/system/bin/app_process
    • Project
      • cpp_prj(何でもいい)
    • Build(if required) before launching
      • Build configurasion:
        • Select configuration using 'c/c++ Application'にcheck これはどちらでもいいと思う。
      • Disable auto buildにCheck
    • Using GDB(DSF)Attach to Process Launcherはそのまま。
  • Debugger Tab
    • Debugger:
      • gdbserver
    • Debugger Options
      • Main
        • GDB debugger:
          • /home/m_fujii/JB411R4/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-gdb
        • GDB command line file:
          • /home/m_fujii/JB411R4/out/target/product/maguro/gdbclient.cmds
          • ※gdbclient.cmdsは、一度gdbclientコマンドを実行すると作成される。
          • ※コマンドがうまく動かないときは、空のファイルで行うといい。
      • Shared Libraries 設定なし。
      • Connection
  • Source 設定なし
  • Common  設定なし

Debugボタンで起動。

gdbclient.cmdsの中身

set solib-absolute-prefix /home/m_fujii/JB422R1/out/target/product/maguro/symbols
set solib-search-path /home/m_fujii/JB422R1/out/target/product/maguro/symbols/system/lib:
/home/m_fujii/JB422R1/out/target/product/maguro/symbols/system/lib/hw:
/home/m_fujii/JB422R1/out/target/product/maguro/symbols/system/lib/ssl/engines:
/home/m_fujii/JB422R1/out/target/product/maguro/symbols/system/lib/drm:
/home/m_fujii/JB422R1/out/target/product/maguro/symbols/system/lib/egl:
/home/m_fujii/JB422R1/out/target/product/maguro/symbols/system/lib/soundfx
#target remote :5039 <=コメントした