初心者のためのPSoC Creatorの歩き方（デバッグ編）

これは、[PSoC Advent Calendar 2017](https://qiita.com/advent-calendar/2017/psoc)の24日目の記事です。

#概要
ArduinoやMbedでプログラムを組む時に必ずと言っていいほど変数の内容をUARTで吐き出してPC上のシリアルソフトで確認することが多いですね。そのため本来なら使わないUARTのライブラリをインクルードしなくてはならずメモリリソースを消費しています。
またソースコードのあちこちにSerial.println(hoge);を記載するのはあまりクールではありません。
PSoC Creatorのエディタには強力なデバッグモードがあり実行中の変数の内容を逐一確認することができます。

#準備
先に[初心者のためのPSoC Creatorの歩き方（初期設定編）](https://qiita.com/noraneko77/items/565652ccd5c253ad093a)を見ながらPSoCの青色LEDを点灯させてください。
書き込みに成功すれば以下のようふわっとLEDが光り出します。
![circleanimationmuvie](https://media.giphy.com/media/3o752nOYZnd6WDbdAY/giphy.gif)

#デバッグモードへ移るには？！
●コードが表示されてる状態でメニューのDebug（虫のマーク）を押してください。
![SnapCrab_NoName_2017-12-24_0-27-34_No-00 - コピー.png](https://qiita-image-store.s3.amazonaws.com/0/120769/0e65e980-152c-ebbd-fa80-0caf11c8e76f.png)

●画面が少し変わり4行目の中カッコに黄色い矢印が表示されます。
![SnapCrab_NoName_2017-12-24_0-29-58_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/120769/c1d0b0a5-bce7-6325-cc22-acc319fddc73.png)

●ステップオーバーを（F10）クリック
![SnapCrab_NoName_2017-12-24_0-29-58_No-00 - コピー.png](https://qiita-image-store.s3.amazonaws.com/0/120769/6cb9c592-870f-e033-eeae-3d1b1f735e4c.png)

●6行目に移動しました、再度ステップオーバーすると・・・
![SnapCrab_NoName_2017-12-24_0-31-23_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/120769/4f577cfb-7f8e-1e86-f324-a6d1466ae4d8.png)

●無限ループ内へ進んできました（私は悲しいふぉ～る～ぷと呼んでいますｗ）
![SnapCrab_NoName_2017-12-24_0-31-35_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/120769/5891d2a8-34fa-60c8-b55c-5a09b923256d.png)

>●**この様にプログラムを少しずつ進めることができます。**
また画面下の左側Localsタブをクリックすると変数名や変数のタイプを確認できます。
![SnapCrab_NoName_2017-12-24_0-30-57_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/120769/340d9892-b020-8a21-e812-b305ba3d3a96.png)
●何度かステップオーバーをクリックして変数の内容が増えるのを確認してください。
![SnapCrab_NoName_2017-12-24_0-32-22_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/120769/5e2ae2cf-50cf-e61b-aab0-9fddb6c1c921.png)
>●PSoCの青いLEDが徐々に光り出していますね。
この様にデバッグモードでは実機と連動して動作を確認することができます。
![2017-12-24 12.05.11.jpg](https://qiita-image-store.s3.amazonaws.com/0/120769/58ee2f97-693a-ac26-d46e-f69e3498f702.jpeg)

###**う～ん便利そうだけど、何度も押すのがメンドクサイなぁ・・・**

#ブレークポイントを使おう
ブレークポイントを使うと任意の行で止めることができます。

●12行目の左側のグレーの上でクリックすると（青いマークの辺り）
![SnapCrab_NoName_2017-12-24_20-23-23_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/120769/3cbda28e-34e2-1155-196f-0bf6a9f8c205.png)

●赤いマーク（ブレークポイント）が設置されました。

![SnapCrab_NoName_2017-12-24_0-32-53_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/120769/951cdcbc-ef2e-5297-04aa-34a9d91c35d4.png)

●では再生ボタン（RESUME：F5）をクリック
![SnapCrab_NoName_2017-12-24_0-29-58_No-00 - コピー - コピー.png](https://qiita-image-store.s3.amazonaws.com/0/120769/013267b6-f2e8-d0c1-5f2b-b51c9262995d.png)

●ブレークポイントまで実行され自動的に止まります。
![SnapCrab_NoName_2017-12-24_0-33-20_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/120769/89bf0afd-90f9-195e-821b-af22c018877b.png)

●ブレークポイントは~~何個でも~~ 数ヵ所設置することができます。
![SnapCrab_NoName_2017-12-24_0-34-10_No-00.png](https://qiita-image-store.s3.amazonaws.com/0/120769/a4c59110-3fde-a857-2301-3908fed1e7da.png)
※ブレークポイントを消すには消したいポイントを再度クリックしてください。

●デバッグから抜けるには終了ボタン（Stop Debugging：Shift+F5）をクリックしてください。
![SnapCrab_NoName_2017-12-24_0-29-58_No-00 - コピー - コピー - コピー.png](https://qiita-image-store.s3.amazonaws.com/0/120769/2df6ffe9-fb62-29bc-7057-cb58f1ed4922.png)



以上で終了です、お疲れさまでした。
PsoC Creatorが少しでも便利なエディターだと感じてもらえば幸いです。
それでは明日はラストの[hogejun](https://qiita.com/hogejun)さんへバトンタッチです。
###***遅くなりましたが皆さまへメリークリスマス***
![circleanimationmuvie](
https://media.giphy.com/media/xULW8oc9BNr1naPSpO/giphy.gif)