Heim  >  Artikel  >  Entwicklungswerkzeuge  >  Wie debugge ich Remote-GDB in vscode? Ausführliche Erläuterung der Methode

Wie debugge ich Remote-GDB in vscode? Ausführliche Erläuterung der Methode

青灯夜游
青灯夜游nach vorne
2023-04-11 19:14:432997Durchsuche

Wie debugge ich Remote-GDB in vscode? Der folgende Artikel stellt Ihnen die Methode des Remote-GDB-Debuggens von vscode vor. Ich hoffe, er wird Ihnen hilfreich sein!

Wie debugge ich Remote-GDB in vscode? Ausführliche Erläuterung der Methode

Kürzlich habe ich mit Hilfe meiner Kollegen versucht, vscode für das GDB-Debugging zu verwenden. Nach der Verwendung war es „wirklich köstlich“.

Was dieser Artikel ohne weitere Umschweife erreichen wird, ist: Ferndebuggen des C++-Codes auf dem Linux-Server und Arm-Embedded-Gerät auf der Windows-Seite sowie Sortieren der Konfiguration und Verwendung des GDB-Debuggings.

1. Remote-Verbindung

Zuerst müssen Sie eine Remote-Verbindung zum Server herstellen, in der Plug-in-Bibliothek nach „remote-ssh“ suchen, zum Herunterladen und Installieren doppelklicken (ich habe es im Bild unten installiert). ), klicken Sie nach der Installation auf „Remote Explorer“ in der Seitenleiste. [Empfohlenes Lernen: vscode-Tutorial, Programmierunterricht]

Klicken Sie auf das +-Zeichen, geben Sie den SSH-Anmeldebefehl in das Popup-Befehlsfenster ein, folgen Sie den Anweisungen, geben Sie das Passwort ein, bestätigen Sie und stellen Sie die Verbindung her ist erfolgreich

2. Konfigurieren Sie die GDB-Umgebung

Erstellen Sie einen C++-Code auf der Serverseite als Beispiel Sehr einfach

#include <unistd.h>
#include <pwd.h>
#include <iostream>
 
int main()
{
	struct passwd* pwd;
	uid_t userid;
	userid = getuid();
	pwd = getpwuid(userid);
 
	std::cout << "pw_name:" << pwd->pw_name << std::endl;
	std::cout << "pw_passwd:" << pwd->pw_passwd << std::endl;
	std::cout << "pw_uid:" << pwd->pw_uid << std::endl;
	std::cout << "pw_gid:" << pwd->pw_gid << std::endl;
	std::cout << "pw_gecos:" << pwd->pw_gecos << std::endl;
	std::cout << "pw_dir:" << pwd->pw_dir << std::endl;
	std::cout << "pw_shell:" << pwd->pw_shell << std::endl;
 
    return 0;
}
Die Kompilierungsmethode ist wie folgt. Geben Sie unbedingt den Befehl -g ein, sonst ist das GDB-Debuggen nicht möglich.

g++ -g test.cpp -o test

Klicken Sie dann auf „Datei – Ordner öffnen“ und suchen Sie den erstellten Codepfad die Codedatei im Ressourcenmanager auf der linken Seite.

Sie müssen die C++-Erweiterung für die erste Ausführung installieren.

Suchen Sie auch nach GDB Debug und installieren Sie es

Klicken Sie nach der Installation auf „Ausführen und debuggen“. Schaltfläche „Launch.json erstellen“,

Wählen Sie das Element „C++ (GDB/LLDB)“ aus, um die Datei „launch.json“ automatisch zu generieren. Der Inhalt lautet wie folgt:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": []
}

Folgen Sie dem Inhalt unten und ändern Sie ihn entsprechend

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动", //配置名称,显示在配置下拉菜单中
            "type": "cppdbg", //配置类型
            "request": "launch", //请求配置类型,可以是启动或者是附加
            "program": "${workspaceFolder}/test", //程序可执行文件的完整路径,${workspaceFolder}表示远程连接的初始路径
            "args": [], //传递给程序的命令行参数
            "stopAtEntry": false,//可选参数,如果为true,调试程序应该在入口(main)处停止
            "cwd": "${workspaceFolder}", //目标的工作目录
            "environment": [], //表示要预设的环境变量
            "externalConsole": false,//如果为true,则为调试对象启动控制台
            "MIMode": "gdb",//要连接到的控制台启动程序
            "setupCommands": [ //为了安装基础调试程序而执行的一个或多个GDB/LLDB命令
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

Die Umgebungskonfiguration ist jetzt abgeschlossen

3. GDB-Debugging-Methode

Klicken Sie direkt links neben der Zeilennummer im Quellcode, um einen Haltepunkt hinzuzufügen, und klicken Sie auf „Ausführen und debuggen“. -(gdb) zum Starten wie folgt

Sie können die Debugging-Seite aufrufen

Sie können den Variablenwert direkt im Variablenbereich sehen, um den Debugging-Zweck abzuschließen.

Häufig verwendete Debugging-Tasten sind wie folgt

F5 Debuggen starten

F10 Einzelschritt überspringen

F11 Einzelschritt-Debugging

Umschalt + F11 Einzelschritt aus

Strg + Umschalt + F5 Debuggen neu starten

Umschalt + F5 Stopp Debuggen

4. Problemübersicht

Wenn Sie zuvor eine Verbindung zu einem bestimmten Gerät hergestellt haben und der anschließende Austausch des Geräts dieselbe IP hat oder das Gerät neu installiert wurde, sich die IP jedoch nicht geändert hat, liegt ein Fehler vor wird beim erneuten Verbinden gemeldet. Der Grund dafür ist, dass der Host die Server-IP als „known_host“ auflistet. Wir können die IP finden, ändern, löschen und erneut verbinden. Weitere Informationen zu VSCode finden Sie unter:

vscode grundlegendes Tutorial

!

Das obige ist der detaillierte Inhalt vonWie debugge ich Remote-GDB in vscode? Ausführliche Erläuterung der Methode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen