Arduino IDE 2.0でのデバッグ

Arduino IDE 2での、ZeroボードとJ-Link、Atmel-ICEデバッガーの設定方法とプログラムのデバッグ方法を学びます。


Author:Karl Söderby & Ubi De FeoLast revision:2024/01/17

概要

新しく導入されましたが、まだよく知られてはいないのがArduino IDE 2.0のデバッガーです。

デバッガーは、その名が示すとおり、プログラムの試験やデバッグに使われるソフトウェアツールです。

基本的には、プログラムの実行を補助するハードウェアインターフェイスの助けを借りて、制御された方法でプログラムを実行します。潜在的な欠陥やコードのエラーを発見するだけではなく、プログラムをよりよく理解するにも役立ちます。

i
Arduinoソフトウェアのページから簡単にエディタをダウンロードすることができます。

準拠ボード

デバッガは全てのSAMDボードで利用可能です。SAMDアーキテクチャを利用しているボードは以下の通りです。

i
Atmel-ICEとJ-LinkデバッガーのチュートリアルはMKR WiFi 1010を使っていますが、上記のボードにも簡単に適用することができます。

必要なもの

  • Arduino IDE 2.0がインストールされていること。

以下のどれかのハードウェアせっても必要です。

どのようにハードウェアを設定するかによって、はんだごてやコネクタ、ジャンプワイヤー、USBケーブルなども必要です。

i
Arduino Zeroボードは、追加のハードウェアなしで利用できます。

ハードウェア設定

異なるハードウェア設定と試験に役立つ、3つの異なるチュートリアルを以下に示します。それらを読み、指示に従った後に、ツールの使い方を学ぶために、ここに戻ってくることを推奨します。

Arduino Zero

Arduino Zeroは、内蔵のデバッガーがあるので、追加のハードウェアを必要としません。デバッグについて学びたい初心者にとってのいい選択です。

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フレームワークのコード内を調べることになります。

ステップアウトは基本的にその逆です。元の場所に戻り次のステップに移ります。

ステップイン・ステップアウトは非常に有用です。いつも使っているコマンドがどのように動作しているかを学習したり、digitalWritedigitalReadSerial.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

inserted by FC2 system