Rumah alat pembangunan VSCode vscode调试c程序失败

vscode调试c程序失败

Feb 12, 2020 pm 04:30 PM
c vscode

vscode调试c程序失败

问题:

执行调试时,出现问题:

无法在".vscode"文件夹(Cannot read property 'name' of undefined) 内创建"launch.json"文件 

解决方法:

一、创建文件夹

点击下图中红框处,创建文件夹,命名为“.vscode"

b6409cb50d5dc470da254f57ce296b3.png

二、创建launch.json

在.vscode文件夹中,创建launch.json文件,并将下面的代码复制进去,其中,miDubuggerPath后的路径为C++编辑器的安装路径

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg", // 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg
            "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
            "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点
            "cwd": "${workspaceFolder}", // 调试程序时的工作目录,此为工作区文件夹;改成${fileDirname}可变为文件所在目录
            "environment": [], // 环境变量
            "externalConsole": false, // 为true时使用单独的cmd窗口,与其它IDE一致;18年10月后设为false可调用VSC内置终端
            "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧?
            "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但我没试过lldb
            "miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe", // 调试器路径,Windows下后缀不能省略,Linux下则不要
            "setupCommands": [
                { // 模板自带,好像可以更好地显示STL容器的内容,具体作用自行Google
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
        }
    ]
}

三、创建tasks.json

在.vscode文件中,新建tasks.json文件,编辑代码

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Compile", // 任务名称,与launch.json的preLaunchTask相对应
            "command": "g++", // 要使用的编译器,C++用clang++;如果编译失败,改成gcc或g++试试,还有问题那就是你自己的代码有错误
            "args": [
                "${file}",
                "-o", // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out
                "${fileDirname}/${fileBasenameNoExtension}.exe",
                "-g", // 生成和调试有关的信息
                "-Wall", // 开启额外警告
                "-static-libgcc", // 静态链接libgcc,一般都会加上
                "-std=c++11", // C++最新标准为c++17,或根据自己的需要进行修改
            ], // 编译命令参数
            "type": "process", // process是vsc把预定义变量和转义解析后直接全部传给command;shell相当于先打开shell再输入命令,所以args还会经过shell再解析一遍
            "group": {
                "kind": "build",
                "isDefault": true // 不为true时ctrl shift B就要手动选择了
            },
            "presentation": {
                "echo": true,
                "reveal": "always", // 执行任务时是否跳转到终端面板,可以为always,silent,never。具体参见VSC的文档
                "focus": false, // 设为true后可以使执行task时焦点聚集在终端,但对编译C/C++来说,设为true没有意义
                "panel": "shared" // 不同的文件的编译信息共享一个终端面板
            },
            // "problemMatcher":"$gcc" // 此选项可以捕捉编译时终端里的报错信息;本文用的是clang,开了可能会出现双重报错信息;只用cpptools可以考虑启用
        }
    ]
}

四、此时点击调试按钮,可以看到出现可以进行调试的选项

34d6a3f0094471ade3fb1a261fd0d21.png

相关文章教程推荐:vscode教程

Atas ialah kandungan terperinci vscode调试c程序失败. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Skop pembolehubah PHP dijelaskan
1 bulan yang lalu By 百草
Mengulas kod dalam php
4 minggu yang lalu By 百草
Petua untuk menulis komen php
4 minggu yang lalu By 百草

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1510
276
Buat dan uruskan pelbagai ruang kerja projek di vscode Buat dan uruskan pelbagai ruang kerja projek di vscode May 29, 2025 pm 10:09 PM

Buat dan uruskan pelbagai ruang kerja projek di VSCode melalui langkah -langkah berikut: 1. Klik butang "Urus" di sudut kiri bawah, pilih "ruang kerja baru", dan tentukan lokasi simpan. 2. Berikan ruang kerja nama yang bermakna, seperti "Webdev" atau "Backend". 3. Tukar projek di Explorer. 4. Gunakan fail .code-workspace untuk mengkonfigurasi pelbagai projek dan tetapan. 5. Beri perhatian kepada Pengurusan Kawalan dan Ketergantungan Versi untuk memastikan setiap projek mempunyai fail .gitignore dan pakej.json. 6. Fail Bersih Bersih secara berkala dan Pertimbangkan menggunakan Kemahiran Pembangunan Jauh

Sebab dan penyelesaian untuk kemalangan editor selepas kemas kini pemalam vscode Sebab dan penyelesaian untuk kemalangan editor selepas kemas kini pemalam vscode May 29, 2025 pm 10:03 PM

Sebab mengapa editor terhempas selepas plugin VSCode dikemas kini adalah bahawa terdapat masalah keserasian dengan plugin dengan versi VSCode yang sedia ada atau plugin lain. Penyelesaian termasuk: 1. Lumpuhkan pemalam untuk menyelesaikan masalah satu demi satu; 2. Menurunkan masalah pemalam kepada versi terdahulu; 3. Cari pemalam alternatif; 4. Simpan vscode dan plug-in dikemas kini dan menjalankan ujian yang mencukupi; 5. Sediakan fungsi sandaran automatik untuk mengelakkan kehilangan data.

Selesaikan tetapan susun atur dan memaparkan masalah vscode dalam persekitaran pelbagai skrin Selesaikan tetapan susun atur dan memaparkan masalah vscode dalam persekitaran pelbagai skrin May 29, 2025 pm 10:12 PM

Menggunakan VSCODE dalam persekitaran pelbagai skrin dapat menyelesaikan masalah susun atur dan memaparkan dengan menyesuaikan saiz dan kedudukan tetingkap, menetapkan ruang kerja, menyesuaikan skala antara muka, tingkap alat yang rasional, mengemas kini perisian dan sambungan, mengoptimumkan prestasi, dan penjimatan konfigurasi susun atur, dengan itu meningkatkan kecekapan pembangunan.

Analisis trend sokongan VSCode dan isu berkaitan untuk bahasa pengaturcaraan yang baru muncul Analisis trend sokongan VSCode dan isu berkaitan untuk bahasa pengaturcaraan yang baru muncul May 29, 2025 pm 10:06 PM

Trend sokongan VSCode untuk bahasa pengaturcaraan yang baru muncul adalah positif, terutamanya ditunjukkan dalam penonjolan sintaks, penyelesaian kod pintar, sokongan debugging dan integrasi kawalan versi. Walaupun terdapat masalah kualiti dan prestasi, mereka boleh ditangani dengan memilih skala berkualiti tinggi, mengoptimumkan konfigurasi, dan secara aktif mengambil bahagian dalam sumbangan komuniti.

Bagaimana cara menukar terminal lalai dalam tetapan vscode? Bagaimana cara menukar terminal lalai dalam tetapan vscode? Jul 05, 2025 am 12:35 AM

Terdapat tiga cara untuk menukar terminal lalai dalam vscode: menetapkan melalui antara muka grafik, mengedit tetapan.json fail, dan penukaran sementara. Pertama, buka antara muka tetapan dan cari "TerminalIntegratedShell" dan pilih laluan terminal sistem yang sepadan; Kedua, pengguna maju boleh mengedit tetapan.json untuk menambah "terminal.integrated.shell.windows" atau "terminal.integrated.shell.osx" dan melarikan diri dengan betul; Akhirnya, anda boleh memasukkan "terminal: pilih melalui panel arahan

Memperbaiki 'Timed Out Menunggu Debugger untuk Dilampirkan' di VSCODE Memperbaiki 'Timed Out Menunggu Debugger untuk Dilampirkan' di VSCODE Jul 08, 2025 am 01:26 AM

Apabila "timedoutwaitingforthedebuggertoattach" berlaku, biasanya kerana sambungan tidak ditubuhkan dengan betul dalam proses debugging. 1. Periksa sama ada konfigurasi pelancaran.json betul, pastikan jenis permintaan dilancarkan atau dilampirkan dan tidak ada ralat ejaan; 2. Sahkan sama ada debugger sedang menunggu debugger untuk menyambung, dan tambah debugpy.wait_for_attach () dan mekanisme lain; 3. Periksa sama ada pelabuhan itu diduduki atau firewall terhad, dan menggantikan pelabuhan atau menutup proses yang diduduki jika perlu; 4. Sahkan bahawa pemetaan pelabuhan dan keizinan akses dikonfigurasi dengan betul dalam persekitaran terpencil atau kontena; 5. Kemas kini VSCODE, Plug-In dan Debug versi perpustakaan untuk menyelesaikan potensi

Bagaimana untuk menetapkan pembolehubah persekitaran untuk debugging dalam tetapan vscode? Bagaimana untuk menetapkan pembolehubah persekitaran untuk debugging dalam tetapan vscode? Jul 10, 2025 pm 01:14 PM

Untuk menetapkan pembolehubah persekitaran debug dalam vscode, anda perlu menggunakan konfigurasi array "Alam Sekitar" dalam fail launch.json. Langkah-langkah khusus adalah seperti berikut: 1. Tambah "persekitaran" array ke konfigurasi debugging launch.json, dan menentukan pembolehubah dalam pasangan nilai utama, seperti API_ENDPOINT dan DEBUG_MODE; 2. Anda boleh memuatkan pembolehubah melalui fail .Env untuk meningkatkan kecekapan pengurusan, dan menggunakan Envfile untuk menentukan laluan fail dalam launch.json; 3. Jika anda perlu menulis ganti sistem atau pembolehubah terminal, anda boleh mentakrifkan semula secara langsung mereka dalam launch.json; 4. Perhatikan bahawa

Bagaimana cara debug di dalam bekas docker dengan vscode? Bagaimana cara debug di dalam bekas docker dengan vscode? Jul 10, 2025 pm 12:40 PM

Kunci untuk debugging kod dengan vscode dalam bekas Docker adalah untuk mengkonfigurasi persekitaran pembangunan dan kaedah sambungan. 1. Sediakan cermin dengan alat pembangunan, pasangkan kebergantungan yang diperlukan seperti debugpy atau nod, dan gunakan imej DevContainers rasmi untuk memudahkan konfigurasi; 2. Pasang kod sumber dan aktifkan pemalam jarak jauh, buat folder dan fail konfigurasi. 3. Konfigurasi debugger, tambahkan tetapan debug untuk bahasa yang sepadan dalam launch.json, dan membolehkan port mendengar dalam kod; 4. menyelesaikan masalah biasa, seperti mendedahkan port debug, memastikan tuan rumah adalah 0.0.0.0, dan gunakan postcreatec

See all articles