20
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VS2015でRaspberryPiデバッグ

Last updated at Posted at 2015-10-03

Raspberry Piでこれ↓をやってみました。半分くらいおんなじです。

準備

RaspberryPi側

  • Raspbian Jessie (2015-09-24)使用
  • rpi-update とか 適当に
  • openssh-server はデフォで有効
  • sambaのインストールと設定をする

samba 簡単設定 (セキュリティが...)

  • インストール sudo apt-get install samba
  • 設定 sudo nano /etc/samba/smb.conf

    ファイルの最後に以下を追加
[pi]
path = /home/pi
read only = No
guest ok = Yes
force user = pi
  • 保存: CTRL+O [Enter] CTRL+X
  • サービス restart: sudo service smbd restart
  • Windowsのエクスプローラから、\\raspberrypi\pi を開いてみる。/home/piがみれる

Windows

  • Visual Studio 2015
  • MIDebugEngine (関連記事 : Visual Studio 2015 へ MIEngineのインストール )
  • PuTTY
  • Raspberry piの/home/piJ:\にマウント
  • エクスプローラで、\\raspberrypi を開く
  • pi フォルダで、右クリック、ネットワークドライブの割り当て(M)...
    dd.png

PUTTYGEN.EXEで鍵生成

  1. SSH-2 RSA , 2048bitで [Generate]ボタンを押して、ウィンドウの上でマウスをぐりぐり動かす
  2. [Save private key]で、パスフレーズなしでいいかの確認は、[はい(Y)]で、適当に名前を付けて、保存。ほかの人には秘密だよ!
  3. PUTTYGEN.EXEはまだ 閉じない (閉じちゃったら、[Load]すればいい)
  4. PuTTYでRaspberry Piにログイン。ユーザpi、パスraspberry
  5. mkdir .ssh; chmod 700 .ssh; touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys
  6. PUTTYGENから、Public key for pasting into OpenSSH authorized_keys file:の下の枠のテキストをコピー。
  7. cat >> .ssh/authorized_keys として、ペースト。Enterおして、CTRL+D
raspberrypi-console
pi@raspberrypi ~ $ mkdir .ssh; chmod 700 .ssh; touch .ssh/authorized_keys; chmod 600  .ssh/authorized_keys
pi@raspberrypi ~ $ cat >> .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc...(省略)..TF6yiExpovv3rr5byxxwptmOYQ== rsa-key-20151002
pi@raspberrypi ~ $

dd2.png

Windowsから、Plink.exeにて接続確認

Windows-cmd.exe
C:\Tools\PuTTY\PLINK.EXE -i id_rsa-2048_20151002.ppk pi@raspberrypi echo Hello World !
Hello World !
  • パスなしで入れましたね!

あとは Visual Studio 2015で、LinuxのHelloWorldデバッグ(MIDebugEngine使用)と同様にすすめましょう。

プロジェクト、ファイル作成

    1. 空ファイルだけ作って。
raspberrypi-console
pi@raspberrypi ~ $ cd
pi@raspberrypi ~ $ mkdir HelloWorld
pi@raspberrypi ~ $ touch HelloWorld/HelloWorld.cpp

    1. VS起動、File > New > Project From Existing Code...
  • Visual C++ [Next]
  • Project file location: J:\HelloWorld
  • Project name: HelloWorld
  • で [Next] 3.とりあえず..
  • Use Visual Studio で、
  • [Console application project]
  • で [Next]
    1. HelloWorld.cpp編集
HelloWorld.cpp
#include <cstdio>
int add(int x, int y)
{
        return x + y;
}
int main()
{
        int a = 5;
        int b = 4;
        int c = add(a, b);
        std::printf("Hello World %d\n", c);
        return 0;
}
    1. 適当なとこに、Breakpointおいて、[F5]おして、通常動作するか確認。

Raspberry pi上でビルド

    1. ファイル確認
raspberrypi-console
pi@raspberrypi ~/HelloWorld $ cd
pi@raspberrypi ~ $ cd
pi@raspberrypi ~ $ cd ~/HelloWorld/
pi@raspberrypi ~/HelloWorld $ ls -1
Debug
HelloWorld.cpp
HelloWorld.sln
HelloWorld.vcxproj
HelloWorld.vcxproj.filters
pi@raspberrypi ~/HelloWorld $
    1. ビルド、実行
raspberrypi-console
pi@raspberrypi ~/HelloWorld $ gcc -o HelloWorld HelloWorld.cpp -g -O0
pi@raspberrypi ~/HelloWorld $ ls -1
Debug
HelloWorld
HelloWorld.cpp
HelloWorld.sln
HelloWorld.vcxproj
HelloWorld.vcxproj.filters
pi@raspberrypi ~/HelloWorld $ ./HelloWorld
Hello World 9
pi@raspberrypi ~/HelloWorld $

Windowsのコマンドラインから、Plinkつかって、RaspberryPiのファイルをビルド

windows-console
C:\Tools\PuTTY\PLINK.EXE -i J:\id_rsa-2048_20151002.ppk pi@raspberrypi cd HelloWorld;gcc -o HelloWorld HelloWorld.cpp -g -O0; ./HelloWorld

Hello World 9

Makefile 書けば、make一発ですな。

VisualStudio2015からデバッグ

MIDebugEngineへのオプションファイルを準備

  • Plinkへのパスとか、
  • ppkへのパスとか、

    うまく編集する。
/home/pi/HelloWorld/LaunchOptionRaspberryPi.xml
<PipeLaunchOptions xmlns="http://schemas.microsoft.com/vstudio/MDDDebuggerOptions/2014"
    PipePath="C:\Tools\PuTTY\PLINK.EXE"
    PipeArguments="-i C:\Users\User01\.ssh\id_rsa-2048_20151002.ppk pi@raspberrypi -batch -t gdb --interpreter=mi"
    ExePath="/home/pi/HelloWorld/HelloWorld"
    ExeArguments=""
    TargetArchitecture="X64"
    WorkingDirectory="/home/pi/HelloWorld"
    AdditionalSOLibSearchPath="">
</PipeLaunchOptions>

Win:VS2015から

  1. HelloWorld.cppをひらいて、ブレークポイントをはる。

  2. View > Other Windows > Command Window (Ctrl+Alt+A)でコマンドウインドウを開く(下)

  3. Command WindowにDebug.MIDebugLaunch /Executable:HelloWorld /OptionsFile:J:\HelloWorld\LaunchOptionsLinux.xml といれて、 [Enter]をおす
    dd3.png

  4. Visual Studio 2015のUIで、デバッガがうごきます。

  • [F10] Step Over
  • [F11] Step Into
  • Shift+[F11] Step Out
  • 変数の値を変更したり、Call Stackみたりできます。

  • デバッグ中は、裏でgdbが動いてますね。
    dd4.png
20
24
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
20
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?