デバイスと通信する系のプログラミングをしていると、デバッグ時に数値を10進数ではなく、16進数や2進数で見たいときがあります。例えば、次のようなときは必須です。
- 仕様で定義されているコードが16進数であり、一致しているかデバッグ時に確認したいとき
- ビット単位で意味があるときに、特定のビットの状態を知りたいとき
私が日頃使っている開発環境は、XcodeとAppCodeなので、この2つの開発環境で確認する方法をまとめました。
Xcodeの場合
Xcodeの場合は簡単です。この記事の執筆時点での最新版はXcode 9.1なのですが、以下の様に操作します。
(1) ブレークポイントで止める
(2) デバッグエリアの変数ビューで、確認したい変数を副ボタンクリック(右クリック、Ctrl+クリック)
(3) 「View Value As」→「Hex」を選択で16進数表示になります。
(3)で「Binary」を選択すれば、2進数表示になります。「Default」を選択すれば元に戻ります。
AppCode
この記事を執筆する時点での最新版は、2017.2.6なのですが、ビルトイン機能に16進数表示や2進数表示は無いです。有るかもと思い、色々検索してみたのですが、見つかりませんでした。そこで、LLDBの機能を使います。次のような手順です。
(1) ブレークポイントで止める
(2) Debugエリアの「LLDB」をクリック
(3) 「p/x 変数」と入力すると、16進数表示が出ます。(「変数」には値を確認したい変数を書く)
(4) 「p/t 変数」と入力すると、2進数表示が出ます。