1. 大前提のデバッグ方法

思い通りに動かない時、その問題は「Hardware」か「Software」のどちらかにある。
そして、その見分け方はシミュレータで正しく動いているかでチェックできる。

>>シミュレータ(画面左側のmicro:bitのこと)
シミュレータ.png

2. チェックシート!【保存版】

DebugManual.png

3. 具体的な対処法について

「2. チェックシート」において、導かれた 各Method について詳しく説明は以下の通りである。

- M.1 電池不足

症状:#音が鳴らない#LEDがつかない / 起動しない#接続機器がうまく動かない
対処:電池を入れ替える / 電池を供給する機器の異常を確認する。

- M.2 端子問題

症状:#音が鳴らない#LEDがつかない / 起動しない#接続機器がうまく動かない
対処:入出力端子の接触を確認する。
備考:"Mi:power board" を使用している場合、ナットの緩みが原因の可能性あり。

- M.3 回路本体の問題 / その他

症状:#音が鳴らない#LEDがつかない / 起動しない#接続機器がうまく動かない
対処:回路を修理する / micro:bit本体を変える。
備考:接続機器がうまく動かない場合、接続機器や配線に問題がある可能性もあり。

- M.4 重複ブロックの問題

症状:#エラーが出ていないのに、思い通り動かない#「最初だけ」ブロックがグレーになる#「入力」ブロックがグレーになる
対処:「最初だけ」ブロック / 「入力」が重複しているブロックのプログラムを一つにまとめる。
備考:重複して同じブロックがあると、どちらから実行していいかわからなくなるため、無効化される(グレーになる)のだと考えられる。

>>問題例
問題.png

>>改善例
改善.png

- M.5 エラー記号のバグ

症状:#「このプロジェクトを動かすことができませんでした。プログラムが正しいかどうかチェックしてください。」と表示される
対処:エラー記号の付いているブロックを探して、デバッグする。
備考:変数の型の矛盾によるバグが多い。

>>エラー記号
エラー記号.png

バグ例①:真偽値(Bool)と整数値(Float)の矛盾

>>問題例
スイッチ.png

>>エラー名:【Type 'number' is not assignable to type 'boolean'】
スイッチエラー.png

バグ例②:LED Spriteを型とする変数

>>問題例
スプライト.png

>>エラー名:【Type 'number' is not assignable to type 'LedSprite'】
スプライトエラー.png

- M.6 エラーコードのバグ

症状:#エラーコードが表示される
対処:エラー記号の付いているブロックを探して、デバッグする。
   もしも、エラー記号がない場合は、パソコンを変えてみる。
備考:ブロックとコードがうまく紐付いていないことが考えられる。

バグ例③:初期化されていない変数

>>問題例(エラー名:【r.isRef is not a function】)
初期化.png

>>改善例(対処:初期化されていない変数を探して、変数の初期化を行う。)
初期化改善.png

4. その他 - Tips

・「変数の追加」のエラー

変数の追加.png

エラー名:【A variable named '変数' already exists.】
和訳:'変数'という名前の変数はすでに存在します。
対処:別の変数名にする。

・変数の削除の方法

方法:変数のブロックを出し、プルダウンボックスの中から「この変数「○○○」を削除」を選択。
変数の削除.png

5. 参照

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.