Arduino IDE上でデバッグを行う方法(Linux) - renesas/Arduino GitHub Wiki

はじめに

  • 本ページではArduino IDE上でデバッグを行う方法を記載しています
  • 以下説明ではデバッグしたいスケッチの作成とコンパイルができている状態を想定して説明します
    • こちらの準備ができていない場合は、最初にクイックスタートガイドをご覧いただき準備をお願いいたします
    • デバックはSerial通信を用いて行っているため、Serial通信を行うスケッチではデバッグが正しく動作しない可能性があります。
      • デバッグが正しく動作しない場合はSerial通信を行うコードをコメントアウト等で無効にするか、Serial通信に使用するポートを変更してください
        • デバッグにはSerial(RxD0, TxD0)を使用しています。

準備

動作環境

  • 本ガイド作成時の動作環境を以下に示します
    • Arduino IDE : v2.3.6
    • RL78/G23-64p FPB Arduinoライブラリ : v2.5.0

debug_custom.jsonの作成

  • Arduino IDEのエディタの「・・・」→「新しいタブ」を選択して下さい
  • 「debug_custom.json」と入力してOKを押して下さい

debug_custom.jsonにデバッグ用のコードを記載して下さい

  • 以下コードを記載
[
  {
    "configId": "renesas:rl78g23_fpb_p64:g23-fpb-64p",
       "debuggerArgs": [
         "-ex",
         "set non-stop on",
         "-ex",
         "shell bash ./startserver_COMPORT.sh R7F100GLG /dev/ttyUSBXX"
       ]
  }
]

debug_custom.jsonコードの修正

  • 上記のdebug_custom.jsonコードはテンプレートなため、ご自身の環境に合わせてコードの修正が必要となります
    • ttyUSBXXを接続しているボードのポート番号に変更してください

コンパイラオプションの設定

  • 「スケッチ」→「デバッグに最適化」を選択して下さい
    • この設定を行うことで、より詳細なデバッグを行うことができます
    • しかし、デフォルト設定に比べROM/RAMサイズは増加します

書き込み

  • 「書き込み」を選択して下さい

デバッグの開始

  • 「デバッグの開始」を選択して下さい

デバッグ機能の紹介

  • デバッグ用コマンド

    • デバッグの開始:デバッグを開始できます
    • Reset device:デバイスをリセットします
    • 続行:プログラムを実行します
    • ステップ オーバー:現在の行を実行し、次の行で停止
    • ステップ インする:現在の行のメソッドの内部に入り、停止する
    • ステップ アウト:現在の関数の終了まで実行し、呼び出し元へ進みます
    • 再起動:デバイスを再起動します
    • 停止:デバッグを停止します
  • デバッグ情報

    • コールスタック:現在のソース位置とスタックに積まれているコール・スタック情報を表示します
    • 変数:変数を表示します
      • Local:関数内のローカル変数を表示します
      • Global:未対応
      • Static:未対応
      • Registers:未対応
    • ウォッチ式:変数名を追加することで、変数の情報を表示します
      • 式の追加から変数を追加できます
    • ブレークポイント:設定したブレークポイントの情報を表示します
      • スケッチの行数の左側を左クリックすることでブレークポイントを設定/削除することができます
    • CORTEX PERIPHERALS:周辺レジスタ情報を表示します
    • CORTEX REGISTERS:未対応