LoginSignup
0
0

More than 5 years have passed since last update.

gdbでデバッグ

Last updated at Posted at 2018-12-06

Azure Sphereの開発・デバッグはVisual Studioが使えるので、gdbでやりたい人は少ないと思いますが、、、
gdbでも可能です。

デバイスをデバッグ可能にする

azsphere device prep-debugコマンドで、デバイスのデバッグを有効にします。
このとき、設定変更とともに、デバイスにgdbserverがインストールされます。

C:\>azsphere device prep-debug

イメージをデバイスに書き込む

azsphere device sideload deleteコマンドでインストールされているイメージを削除してから、azsphere device sideload deployコマンドでイメージをデバイスに書き込みします。

C:\>azsphere device sideload delete
C:\>azsphere device sideload deploy -m -p Mt3620App1.imagepackage

デバッグモードでアプリケーションを起動する

azsphere device sideload startコマンドに-dオプションを付けて、デバッグモードでアプリケーションを起動します。このとき、Component IDを指定しなければいけないので、azsphere device sideload show-statusで確認します。
アプリケーション起動といっても、ここではアプリケーションは実行開始されません。デバッグ開始可能な状態になります。

この例では、Component IDは8fdb970b-cd84-44ae-9f83-fdcd70deef28です。

C:\>azsphere device sideload show-status
8fdb970b-cd84-44ae-9f83-fdcd70deef28: App state: stopped

Command completed successfully in 00:00:01.4743683.

C:\>azsphere device sideload start -d -i 8fdb970b-cd84-44ae-9f83-fdcd70deef28
8fdb970b-cd84-44ae-9f83-fdcd70deef28
App state   : debugging
GDB port    : 2345
Output port : 2342

Command completed successfully in 00:00:01.3325013.

C:\>

出力ウィンドウをモニタリング

TeraTermなどを使って、192.168.35.2:2342をモニタ開始しておきます。

image.png

image.png

gdbでアプリケーションを実行開始する

arm-poky-linux-musleabi-gdbコマンドでgdbを起動し、targetcでアプリケーションを実行開始します。

C:\>arm-poky-linux-musleabi-gdb Mt3620App1.out
(gdb) target remote 192.168.35.2:2345
(gdb) c
Continuing.

image.png

まとめ

  • Azure Sphereの開発・デバッグにgdb使うことができる。
  • 出力ウィンドウのデリミタはLF。
  • TeraTermなどで一度接続すると、再度デバッグモードで起動しないと再接続できない。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0