ホームページ  >  記事  >  開発ツール  >  詳細な設定の説明: vscode での C++ のリモート デバッグ

詳細な設定の説明: vscode での C++ のリモート デバッグ

青灯夜游
青灯夜游転載
2022-10-14 19:47:133338ブラウズ

詳細な設定の説明: vscode での C++ のリモート デバッグ

最近、Linux ウェブサーバー開発を学習しており、Linux で独自の C/C コードをデバッグする必要があります。しかし、Linux は、Windows で直接 Visio Studio やその他の統合開発環境を使用するほど便利ではありません。 . 、今Linuxで開発するのはかなり面倒です。したがって、リモート開発には VScode の使用を検討できます。しかし、インターネット上にあるチュートリアルはわかりにくいものが多く、いろいろ試した結果、多くの落とし穴に遭遇しました。 [推奨学習: "vscode チュートリアル "]

1. システム構成

リモート システム: ubuntu18.04 (仮想マシン)
開発ホスト:windows10

2. Ubuntuリモートインストールソフトと設定

(1) 必要なソフトウェアのインストール:ssh(システム通信)、gdb 、gsdbserver (コード デバッグ):

sudo apt-get install openssh-server
sudo apt-get install gdb
sudo apt-get install gdbserver

(2) テスト フォルダーとファイルの作成

# #Note :

  • ワンステップで正しく実行して、最終的なプログラムを直接テストすることもできますが、ここではこれを行うことはお勧めしません。新しい hello と world を作成することをお勧めします。最初にテストするプログラムを作成し、成功後にテストする独自のコードをデバッグします。
  • フォルダーの場所と内容は重要ではありませんが、シンプルにすることが最善です。
cd ~/桌面
mkdir testvs
cd testvs
touch main.cpp
gedit main.cpp

main.cpp コードは次のとおりです:

#include <stdio.h>
 
int main()
{
    int a = 1;
    printf("hello world\n");
    getchar();
    return 0;
}</stdio.h>

(3 ) コンパイルして実行可能ファイルを取得します

##g main.cpp -o main -g注:

    -g オプションを追加します。そうしないと、gdb を使用してデバッグできません。
  • 実行後、testvs フォルダーに main.cpp と main の 2 つのファイルが存在します

(4) gdbserver# を起動します

##(4.1) まず、ubuntu システムの IP アドレスを確認します:

hostname -I


ローカル IP アドレスは 詳細な設定の説明: vscode での C++ のリモート デバッグ192.168.199.131

(4.2) として取得できます。 gdbserver を起動します (IP アドレスとテスト ファイル ディレクトリの変更に注意してください) )

gdbserver 192.168.199.131:2000 ~/Desktop/testvs/main


詳細な設定の説明: vscode での C++ のリモート デバッグ

#3. ホスト VScode 設定

(1) まず、VScode に次のプラグインをインストールします:

C/C
  • C/C 拡張パック
  • リモート - SSH
  • リモート開発
  • ##(2) ssh リモート接続

#左下隅の [管理] -> [コントロール パネル] で、オプション [リモート SSH: ホストに接続...] -> 新しい SSH ホストの追加... ubuntu システムの IP アドレスを入力すると、新しいインターフェイスが表示されます

赤いボックスに ubuntu システムのパスワードを入力します。緑色の IP アドレスが左下隅に表示されれば、接続は成功です。 、以下に示すように。

詳細な設定の説明: vscode での C++ のリモート デバッグ

(3) テストファイルを開く 詳細な設定の説明: vscode での C++ のリモート デバッグ

フォルダを開く→テストフォルダを選択ディレクトリに移動し、[OK] ボタンをクリックします。

C/C 拡張機能を選択し、[SSH:XXX にインストール] を選択します。 C/C Extension Pack も同様です。

次に、Ubuntu で Vscode と gdbserver を再起動し (再起動する必要があります。再起動しないと、次の手順でエラーが報告されます)、上記のリモート接続プロセスを再実行します。

詳細な設定の説明: vscode での C++ のリモート デバッグ
(4) 設定ファイルの設定

(4.1)tasks.jsonの設定

メニュー バーの [ターミナルの選択] > [デフォルトのビルド タスクの構成] から、ドロップダウン バーで [C/C] を選択します: g アクティブ ファイルをビルドします。次に、tasks.json ファイルを生成し、内容を次のように置き換えます:

{
    // 有关 tasks.json 格式的文档,请参见
     // https://go.microsoft.com/fwlink/?LinkId=733558
     "version": "2.0.0",
     "tasks": [
     {
     "type": "shell",
     "label": "g++ build active file",
     "command": "/usr/bin/g++",
     "args": [
     "-std=c++11",
     "-g",
     "${file}",
     "-o",
     "${fileDirname}/${fileBasenameNoExtension}"
     ],
     "options": {
     "cwd": "/usr/bin"
     },
     "problemMatcher": [
     "$gcc"
     ],
     "group": {
     "kind": "build",
     "isDefault": true
     }
     },
     { //删除二进制文件
     "type": "shell",
     "label": "delete output file",
     "command": "rm",
     "args": [
     "${fileDirname}/${fileBasenameNoExtension}"
     ],
     "presentation": {
     "reveal": "silent", //删除过程不切换终端(专注程序输出)
     }
     }
     ]
    }
(4.2) 構成 launch.json

メニュー バーで [デバッグ] > [構成の追加] を選択し、C (GDB/LLDB) を選択し、ドロップダウン バーで [アクティブ ファイルのビルドとデバッグ] を選択します。 launch.json を生成し、内容を

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
    {
    "name": "g++ build and debug active file",
    "type": "cppdbg",
    "request": "launch",
    "program": "${fileDirname}/${fileBasenameNoExtension}",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}",
    "environment": [],
    "externalConsole": false,
    "MIMode": "gdb",
    "setupCommands": [
    {
     "description": "为 gdb 启用整齐打印",
     "text": "-enable-pretty-printing",
     "ignoreFailures": true
    }
    ],
    "preLaunchTask": "g++ build active file",
    "postDebugTask": "delete output file",
    "miDebuggerPath": "/usr/bin/gdb"
    }
    ]
   }
4 に変更します。デバッグの実行

デバッグし、main.cpp

## の下で実行します。

#VSCode 関連の知識については、

vscode 基本チュートリアル

を参照してください。

詳細な設定の説明: vscode での C++ のリモート デバッグ

以上が詳細な設定の説明: vscode での C++ のリモート デバッグの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。