Bagaimana untuk nyahpepijat gdb jauh dalam vscode? Artikel berikut akan memperkenalkan kepada anda kaedah penyahpepijatan gdb jauh bagi vscode. Saya harap ia akan membantu anda!
Baru-baru ini, dengan bantuan rakan sekerja saya, saya cuba menggunakan vscode untuk penyahpepijatan gdb Selepas menggunakannya, rasanya "sangat bagus".
Tanpa melengahkan masa lagi, perkara yang akan dicapai oleh artikel ini ialah: penyahpepijatan jauh kod C++ pada pelayan Linux dan peranti dibenamkan lengan pada bahagian tingkap, dan menyusun konfigurasi dan penggunaan penyahpepijatan gdb.
Mula-mula anda perlu mencapai sambungan jauh ke pelayan, cari "remote-ssh" dalam perpustakaan pemalam, klik dua kali untuk memuat turun dan memasang (saya dalam gambar di bawah Sudah dipasang), selepas pemasangan, pengurus sumber jauh akan muncul di bar sisi. [Pembelajaran yang disyorkan: tutorial vskod, Pengajaran pengaturcaraan]
Klik tanda + dan masukkan ssh dalam arahan pop timbul tetingkap untuk arahan log masuk, ikut arahan, masukkan kata laluan dan sahkan, sambungan akan berjaya
Buat pada pelayan kod C++ Di sini kita mengambil kod dalam "C++ untuk Linux untuk mendapatkan nama pengguna sistem" sebagai contoh
#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; }
Kaedah penyusunan adalah seperti berikut Pastikan anda menambah perintah -g , jika tidak, adalah mustahil untuk menyahpepijat dengan gdb
g++ -g test.cpp -o test
Kemudian klik File-Open Folder dan cari laluan kod yang dibuat pengesahan, anda boleh melihat fail kod dalam pengurus sumber di sebelah kiri.
Anda perlu memasang sambungan c++ untuk larian pertama Dalam halaman sambungan, pasang C/C++
Juga cari GDB Debug dan pasang <.>
Selepas pemasangan, klik butang "Run and Debug", "Create launch.json", Pilih Item C++ (GDB /LLDB), menjana fail launch.json secara automatik, kandungannya adalah seperti berikut{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [] }
{ // 使用 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 } ] } ] }
F5 Mulakan penyahpepijatanF10 Langkau satu langkahF11 Penyahpepijatan satu langkah shift + F11 Langkah keluar tunggalctrl + shift + F5 Mulakan semula penyahpepijatanshift + F5 Hentikan penyahpepijatan
tutorial asas vscode!
Atas ialah kandungan terperinci Bagaimana untuk menyahpepijat gdb jauh dalam vscode? Penerangan terperinci kaedah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!