「設定 - リモートデバッグ」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == ここでは、VMwareを使用してCentOS 7をゲストOSとして構築している。<br> Visual Studio 2017からデバッグが出来るようにゲス…」)
 
編集の要約なし
1行目: 1行目:
== 概要 ==
== 概要 ==
ここでは、VMwareを使用してCentOS 7をゲストOSとして構築している。<br>
ここでは、VMware WorkStation Proを使用してCentOS 7をゲストOSとして構築している。<br>
Visual Studio 2017からデバッグが出来るようにゲストOS(CentOS 7)にgdbとgdbserverを以下のコマンドを入力してインストールする。<br>
<br><br>
 
== ゲストOSを設定する ==
===== GDBとGDB Serverをインストールする =====
Visual Studio 2017からデバッグが出来るようにゲストOS(CentOS 7)にGDBとGDB Serverを以下のコマンドを入力してインストールする。<br>
  sudo yum install gdb
  sudo yum install gdb
  sudo yum install gdb-gdbserver
  sudo yum install gdb-gdbserver
<br>
===== SSHサーバを設定する =====
SSHサーバは、CentOS 7をMinimal Installした場合でも、標準でOpenSSHがインストールされるため、追加インストールする必要はない。<br>
また、標準で自動起動設定になっているため、パスワード認証方式でのログインが可能となっている。<br>
したがって、最低限必要な設定としては、セキュリティを考慮して、以下のようにrootアカウントの直接ログインの禁止設定を実施しておけばよい。<br>
sudo gedit /etc/ssh/sshd_config
PermitRootLogin no  #38行目(rootログイン禁止)
<br>
設定を反映させるため、sshdを再起動する。<br>
sudo systemctl restart sshd
<br>
Firewalldを有効にしている場合は、SSHサービスの許可が必要である。なお、このページでは、SSHは22/TCPを使用する。<br>
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload
<br><br>
== プロジェクトを新規作成する ==
[ファイル]メニュー - [新規作成] - [Visual C++] - [クロスプラットフォーム] - [Linux]を展開し、C++によるLinux開発を選択する。<br>
<br><br>
<br><br>


== Visual Studio 2017の設定 ==
== リモートシステムの設定を行う ==
接続先のLinuxを指定するダイアログ(Connect to Remote System)が表示されるので次のように入力する。<br>
接続先のLinuxを指定するダイアログ(Connect to Remote System)が表示されるので次のように入力する。<br>
  Host Name : ホスト名またはIPアドレス(例 : 192.168.111.5)
  Host Name : ホスト名またはIPアドレス(例 : 192.168.111.5)
14行目: 36行目:
<br>
<br>
※次回からは入力しなくてもこの設定で自動的に接続される。<br>
※次回からは入力しなくてもこの設定で自動的に接続される。<br>
※上記の接続先の設定において、Visual Studio 2017のツールバー[オプション][クロスプラットフォーム]からコネクションマネージャーで再設定できる。<br>
※上記の接続先の設定において、Visual Studio 2017の[ツール]メニュー - [オプション] - [クロスプラットフォーム]からコネクションマネージャーで再設定できる。<br>
<br><br>
<br><br>



2020年1月16日 (木) 13:49時点における版

概要

ここでは、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側)、ビルドすると文字化けしない。