« LazLogger | Main | Lazarus 1.6.2 »

August 25, 2016

Lazarus ARM リモートデバッグ (Remote Debug) 2016/8/28修正

プログラムを止められない環境下のデバッグでなければ、デバッガを使うほうがずっと楽です。

つい先日までは、Rasberry Pi3で実行ボタンをクリックしてビルド+実行しようとすると実行時にデバッガエラーで止まってしまいまししたが、今はそのまま実行できるようです。

UbuntuのソフトウェアセンターからインストールしたLazrus Ver1.6は未確認なので、相変わらず実行出来ないかもしれません。

さて、今回はリモートデバッグについてです。
Rasberry Pi3で、セルフでLazrusを動かすことも出来ますが、規模が大きなプログラムになると、やはり速度が気になってきます。 

Lazarusのクロス開発環境の設定も面倒ですが、されらに大変なのがクロスデバッガの設定です。情報を検索しても中途半端だったり、新旧の情報が入り混じってたりで手順がわからず途方にくれてる人も多いようです。

此処で簡単に手順を紹介します。(XG-BBEXT系の説明です、RaspberryPi3で確認したらまた情報をアップします)

① Buildrootにてopensshパッケージを選択しビルドします。
  (あるいはopensshパッケージをインストールします。)

  ボードを起動したら、rootのパスワード設定をします。
  リモートから「ssh root@IPアドレス」でログインできることを確認します。

② リモートマシンにてRSA認証設定をします。

  ファイル[/etc/sshd_config]の以下の2行のコメント「#」を外します
  ---------------------------------------------------------
  RSAAuthentication yes
  PubkeyAuthentication yes
  ---------------------------------------------------------
  修正が終わったら、以下のコマンドでsshdを再起動します(電源入れ直しでもOK)

  # /etc/init.d/S50sshd restart

③ ローカルマシンにて公開・非公開キーを生成します。

  ローカルマシンに以下の2つのファイルを生成します。
  ~/.ssh/id_rsa
  ~/.ssh/id_rsa.pub
  これらのファイルがすでに存在するときは、この手順は飛ばして下さい。

  $ ssh-keygen -t rsa
  (デフォルトのまま、パスフレーズは空白のままにして下さい。 )

④ リモートマシンにファイル「~/.ssh/authorized_keys2」を作成する。

  $ ssh user@remotecomp
  $ mikdir ~/.ssh
  $ touch ~/.ssh/authorized_keys2
  $ chmod 600 ~/.ssh/authorized_keys2

⑤ ローカルマシンの公開キーをリモートマシンにコピーする。

  $ ssh-copy-id -i ~/.ssh/id_rsa.pub root@IPアドレス

⑥ テスト
  パスワード無しでログインできるかどうか、テストします。

  $ ssh root@IPアドレス

⑦ IDEのデバッガ設定

  Lazrusのメニュー[ツール]-[オプション]にてIDEオプションダイアログを表示し、
  [デバッガ]を選択します。

  デバッガの種類はgdbserverを選択します。
  ローカル側のデバッガはBuildrootにて作成されたgdbデバッガを指定します。

  例えば、
/home/guest/xgbbext-lk/buildroot-2013.11-xgbbext-1.1/output/host/usr/bin/arm-linux-gnueabihf-gdb
  (シンボリックリンクの場合は、元のgdbのフルパスが表示されます)

⑧ リモート側にビルドされたアプリケーションを配布(scp,ftp,nfsなどで)

⑨ アプリケーションのデバッグ

  リモート側にてアプリを起動(待機)

  # gdbserver host:2345  ./アプリケーション

⑩ ブレークポイントの設定(必要なら)

⑪ 実行

注意:

④項を追加しました(2016/08/28)

« LazLogger | Main | Lazarus 1.6.2 »

Comments

Post a comment

Comments are moderated, and will not appear on this weblog until the author has approved them.

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/51554/64106667

Listed below are links to weblogs that reference Lazarus ARM リモートデバッグ (Remote Debug) 2016/8/28修正:

« LazLogger | Main | Lazarus 1.6.2 »

September 2017
Sun Mon Tue Wed Thu Fri Sat
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

大規模災害に備える

他のアカウント

無料ブログはココログ

Recent Trackbacks