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

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
編集の要約なし
(Wiki がページ「Visual Studio 2017でLinux開発」を「設定 - リモートデバッグ」に、リダイレクトを残さずに移動しました)

2020年10月21日 (水) 00:30時点における版

概要

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