35
Qt Creatorremote debugSub Head by sazus May/20/2014 Qt Developer Day 2014 Tokyo

Qt creatorでremote_debug

Embed Size (px)

DESCRIPTION

Qt Developer Day 2014 Tokyo 日本Qtユーザー会のLT QtCreatorでの、remoteデバック方法(for Embedded Linux)

Citation preview

Page 1: Qt creatorでremote_debug

Qt Creatorでremote debug!

Sub Head

by sazus

May/20/2014Qt Developer Day 2014 Tokyo

Page 2: Qt creatorでremote_debug

本日のお話

Page 3: Qt creatorでremote_debug

Qt on せんべい 作ってきました!!

日本Qtユーザー会のブースで配ってます。

是非、寄って見てください。

Page 4: Qt creatorでremote_debug

閉口休話

Page 5: Qt creatorでremote_debug

Qtは、さまざまにプラットフォームに対応

していますが

Page 6: Qt creatorでremote_debug

Windows /Mac OS / Linux (X11)

この辺のPCデバックは

ちょっと置いといて...

Page 7: Qt creatorでremote_debug

Windows CE / WinRT

組み込みですが

宗教上の理由で

今回はパスします。

Page 8: Qt creatorでremote_debug

Android / iOS / QNX

これも、見なかったこと

にします!

Page 9: Qt creatorでremote_debug

Embedded Linux (non X Window System)

+ C++ freame work

Page 10: Qt creatorでremote_debug

Embedded Linux (non X Window System)

HOST環境 : Ubuntu 12.04 LTS      QtCreator 3.0.0Target環境 : linux sshは最小限使える

+ gdbserberが入っている

組み込みboard

Page 11: Qt creatorでremote_debug

これ1本で行きます!

Page 12: Qt creatorでremote_debug

組み込み環境のデバックで

QtCreatorつかってますか??

Page 13: Qt creatorでremote_debug

JTAG使うよりも

お手軽な Qt Creator

Page 14: Qt creatorでremote_debug

QtCreatorでremote debug

- target boardにdeployしてますか?

- sftpが入ってない環境でのremoteデバック

- 動作途中でのremoteデバック

Page 15: Qt creatorでremote_debug

QtCreatorでremote debug

- target boardにdeployしてますか?

- sftpが入ってない環境でのremoteデバック

- 動作途中でのremoteデバック

Page 16: Qt creatorでremote_debug

- target boardにdeployしてますか?

QtCreator 設定ツール(T) ⇒ オプション(O) ⇒ デバイス

Page 17: Qt creatorでremote_debug

- target boardにdeployしてますか?

QtCreator 設定ツール(T) ⇒ オプション(O) ⇒ デバイス

接続テスト

Page 18: Qt creatorでremote_debug

- target boardにdeployしてますか?

QtCreator 設定ツール(T) ⇒ オプション(O) ⇒ デバイス

Page 19: Qt creatorでremote_debug

- target boardにdeployしてますか?

QtCreator 設定ツール(T) ⇒ オプション(O) ⇒ ビルドと設定

キット tab

Page 20: Qt creatorでremote_debug

- target boardにdeployしてますか?

プロジェクト 設定Remote Derectoryの設定

設定はプロジェクトファイル

Page 21: Qt creatorでremote_debug

- target boardにdeployしてますか?

プロジェクト 設定Remote Derectoryの設定

設定はプロジェクトファイル

Page 22: Qt creatorでremote_debug

- target boardにdeployしてますか?

Deploy設定はこれだけやれば大丈夫

あとは、F5   でtarget環境へ

DebugするSoftをdeployしてDebugができる

Page 23: Qt creatorでremote_debug

QtCreatorでremote debug

- target boardにdeployしてますか?

- sftpが入ってない環境でのremoteデバック

- 動作途中でのremoteデバック

Page 24: Qt creatorでremote_debug

- sftpが入ってない環境でのremote

デバック

sftpが入ってない

・SFTP(SSH File Transfer Protocol) が導入されていない環境。

・組み込み環境だと、OpenSSHではなく

低メモリ・リソースのdropbearが よく使われたりするのでsftpがない。

 (っというか、個人的によく選ぶw)

Page 25: Qt creatorでremote_debug

- sftpが入ってない環境でのremote

デバック

sftpが入ってない

TargetへのApplication転送は

rsyncやscpで!

Page 26: Qt creatorでremote_debug

Target側の 設定手動で、gdbserverを立ち上げる

- sftpが入ってない環境でのremote

デバック

gdbserver HOST側IPアドレス : ポート アプリ名

Page 27: Qt creatorでremote_debug

QtCreatorの設定デバック(D) ⇒ デバック開始(S) ⇒ リモートデバックサーバーにアタッチ

- sftpが入ってない環境でのremote

デバック

gdbserverで設定したポート

target側に転送したApplocation

Page 28: Qt creatorでremote_debug

QtCreatorでremote debug

- target boardにdeployしてますか?

- sftpが入ってない環境でのremoteデバック

- 動作途中でのremoteデバック

Page 29: Qt creatorでremote_debug

- 動作途中でのremoteデバック

十分にデバックしたはずなのに

担当者から、基板が持っていかれた途端に

segmentation fault

(組み込みあるある)

Page 30: Qt creatorでremote_debug

- 動作途中でのremoteデバック

こんな時こそ

QtCreatorでremote debug

Page 31: Qt creatorでremote_debug

- 動作途中でのremoteデバック

QtCreatorの設定デバック(D) ⇒ デバック開始(S) ⇒ プロセスにアタッチするリモートデバックサーバーを開始しています

AttachするProcessを選択して押す

Page 32: Qt creatorでremote_debug

- 動作途中でのremoteデバック

QtCreatorの設定

予めポート番号をみておく(ps コマンドなどでもOK)

Page 33: Qt creatorでremote_debug

QtCreatorの設定デバック(D) ⇒ デバック開始(S) ⇒ リモートデバックサーバーにアタッチ

- 動作途中でのremoteデバック

gdbserverで設定していたポート

target側で実行しているものと同じfile

Page 34: Qt creatorでremote_debug

QtCreatorでremote debugまとめ

- target boardにdeploy余裕!

- sftpが入ってない環境でのremoteデバック余

裕!

- 動作途中でのremoteデバック余裕!

Page 35: Qt creatorでremote_debug

よいQt Lifeを

ご清聴ありがとうございました。