設定 - リモートデバッグ
概要
ここでは、VMware WorkStation Proを使用してCentOS 7をゲストOSとして構築している。
ゲストOSを設定する
GDBとGDB Serverをインストールする
Visual Studio 2017からデバッグが出来るようにゲストOS(CentOS 7)にGDBとGDB Serverを以下のコマンドを入力してインストールする。
sudo yum install gdb sudo yum install gdb-gdbserver
SSHサーバを設定する
SSHサーバは、CentOS 7をMinimal Installした場合でも、標準でOpenSSHがインストールされるため、追加インストールする必要はない。
また、標準で自動起動設定になっているため、パスワード認証方式でのログインが可能となっている。
したがって、最低限必要な設定としては、セキュリティを考慮して、以下のようにrootアカウントの直接ログインの禁止設定を実施しておけばよい。
sudo gedit /etc/ssh/sshd_config PermitRootLogin no #38行目(rootログイン禁止)
設定を反映させるため、sshdを再起動する。
sudo systemctl restart sshd
Firewalldを有効にしている場合は、SSHサービスの許可が必要である。なお、このページでは、SSHは22/TCPを使用する。
sudo firewall-cmd --add-service=ssh --permanent sudo firewall-cmd --reload
プロジェクトを新規作成する
[ファイル]メニュー - [新規作成] - [Visual C++] - [クロスプラットフォーム] - [Linux]を展開し、C++によるLinux開発を選択する。
リモートシステムの設定を行う
接続先のLinuxを指定するダイアログ(Connect to Remote System)が表示されるので次のように入力する。
Host Name : ホスト名またはIPアドレス(例 : 192.168.111.5) Port : 22(固定) User Name : CentOSで使用しているユーザ名(例 : centos) Password : CentOSで使用しているユーザ名のパスワード
※次回からは入力しなくてもこの設定で自動的に接続される。
※上記の接続先の設定において、Visual Studio 2017の[ツール]メニュー - [オプション] - [クロスプラットフォーム]からコネクションマネージャーで再設定できる。
実行
実行する前に[デバッグ]メニューからLinux Consoleウインドウを表示する。
リモートGDBデバッガーを実行すると実行結果がLinux Consoleウインドウに表示される。
備考
CentOS 7のホームディレクトリ下にprojectsディレクトリが作成されて、そこにプロジェクトが配置される。
日本語を使う時の問題点
ソースファイル(Visual Studio側もLinux側も)がShift JISで保存されるため文字化けが起きる。
外部エディタにてUTF-8で再保存して(Visual Studio側)、ビルドすると文字化けしない。