Arduino IDE 2での、ZeroボードとJ-Link、Atmel-ICEデバッガーの設定方法とプログラムのデバッグ方法を学びます。
概要
新しく導入されましたが、まだよく知られてはいないのがArduino IDE 2.0のデバッガーです。
デバッガーは、その名が示すとおり、プログラムの試験やデバッグに使われるソフトウェアツールです。
基本的には、プログラムの実行を補助するハードウェアインターフェイスの助けを借りて、制御された方法でプログラムを実行します。潜在的な欠陥やコードのエラーを発見するだけではなく、プログラムをよりよく理解するにも役立ちます。
準拠ボード
デバッガは全てのSAMDボードで利用可能です。SAMDアーキテクチャを利用しているボードは以下の通りです。
- MKR Zero
- MKR WiFi 1010
- MKR FOX 1200
- MKR WAN 1300
- MKR WAN 1310
- MKR GSM 1400
- MKR NB 1500
- MKR VIDOR 4000
- Nano 33 IoT
- Zero
必要なもの
- Arduino IDE 2.0がインストールされていること。
以下のどれかのハードウェアせっても必要です。
- Arduino Zero もしくは
- Segger J-Link BASE/Segger J-Link EDU + MKR WiFi 1010 もしくは
- Atmel-ICE + MKR WiFi 1010
どのようにハードウェアを設定するかによって、はんだごてやコネクタ、ジャンプワイヤー、USBケーブルなども必要です。
ハードウェア設定
異なるハードウェア設定と試験に役立つ、3つの異なるチュートリアルを以下に示します。それらを読み、指示に従った後に、ツールの使い方を学ぶために、ここに戻ってくることを推奨します。
Arduino Zero
Arduino Zeroは、内蔵のデバッガーがあるので、追加のハードウェアを必要としません。デバッグについて学びたい初心者にとってのいい選択です。
J-Link
SeggerのJ-Linkツールは高度なデバッグ用の良い選択です。J-LinkツールはMKR WiFi 1010ボードとははんだ付けを行い接続します。詳細なガイドは以下を参照してください。
Atmel-ICE
Atmel-ICEは、デバッグのための異なる良い選択です。これも、はんだ付けを行いMKR WiFi 1010ボードと接続します。Atmel-ICEを使ったデバッグについては以下を参照してください。
デバッガーを知る
ハードウェア設定後は、Arduino IDE 2.0のデバッガーツールについて知っていきましょう。
デバッガーは、Arduino IDE 2.0で新しく実装されました。デバッガーには左側のサイドバーからアクセスできます。デバッガーは、ボードマネージャーやライブラリマネージャ―、検索、スケッチブックと共にグループ化されています。

デバッガーボタン
このようにしているのは、インターフェイスを紹介するためであり、実際には、ボタンメニューのデバッグ開始ボタンを押す必要があります。
デバッガーを使うには、特定のハードウェア機器が必要で、これはどのボードやプロセッサを使うかに大きく依存しています。また、外部のデバッガーもほとんどの場合必要です。

ボードがサポートしていればデバッガーアイコンが有効になります
デバッガーを使う
デバッガーを使うには、まず、ボードにスケッチをアップロードする必要があります。このとき、プログラムがデバッグ用に最適化されていることを確認する必要があるので、そのためのオプションが正しいか確認しましょう。

デバッグに最適化オプションを有効にする
重要: Arduino Zeroとは、programming USBポートに接続する必要があります。
この例では、基本のblinkスケッチを選択します。このコードには、ファイル > スケッチ例 > 01.Bsics > Blinkを選びます。Arduinoボードにコードをアップロードします。アップロードが完了すると、下部の出力パネルに表示されます。
プログラムがアップロードされると、デバッガーの利用を開始できます。
ブレークポイント
ブレークポイントの設定から始めましょう。ブレークポイントは、特定の行(あるいは特定脳条件が満たされたら)プログラムを止めるために使われます。プログラム内でブレークポイントは複数利用可能です(ブレークポイント数はプロセッサーに依存します)。
この例では、33行目と35行目にブレイクポイントを設定します。これらは、エディタの行番号の左側をクリックすることで設定できます。

デバッガー操作
これで、コードを少しずつ実行していくことができます。デバッガーは最初に到達したブレイクポイントで自動停止します。
続行/一時停止ボタンをクリックして続けましょう。プログラムは次のブレイクポイント(例えば35行目)まで実行します。もう一度クリックすると、33行目に行きます(プログラムの他の行も実行されますが、その様子はわかりません)。続行/一時停止ボタンをもう一度クリックするとプログラムの実行を継続し、次のブレイクポイントの35行目で停止します。結局はメインループの中にいます。
ステップオーバー
ステップオーバー機能は、基本的にはプログラムを1行1行実行するものです。20行のプログラムがあり、それぞれ独自のことを実行しているとします。ステップオーバーはこれらを1行ずつ実行でき、各ステップで何が起こっているかを解析できます。
ステップインとステップアウト
次は、ステップインとステップアウトコマンドです。この例では、digitalWrite()とdelay()関数を使います。基本的に、ステップインでは、自分が書いたコードから分岐し、これらの関数が定義されているコードに跳びます。この場合、Arduinoフレームワークのコード内を調べることになります。
ステップアウトは基本的にその逆です。元の場所に戻り次のステップに移ります。
ステップイン・ステップアウトは非常に有用です。いつも使っているコマンドがどのように動作しているかを学習したり、digitalWriteやdigitalRead、Serial.printlnや他のArduino関数を実行したときに何が起こるかを発見したりすることができます。
おわりに
このガイドでは、デバッグをスムーズに行うために、Arduino IDE 2.0のデバッガーの使用方法のいくつかの基本を紹介しました。いくつかの異なるハードウェア設定やデバッガーツールの操作方法を知り、ハードウェアガイドへのリンクを紹介しました。
デバッガーを楽しんで使うことを望んでいます。問題があれば、Arduino IDE GitHub repositoryに報告してください。
他のチュートリアル
Arduino IDE 2のドキュメントページに多くのチュートリアルがあります。
オリジナルのページ
https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-debugger
最終更新日
August 15, 2026