解决vscode下调试c/c++程序一闪而过的问题(Windows)

下面我将为您详细讲解“解决vscode下调试c/c++程序一闪而过的问题(Windows)”的完整攻略。

问题描述

在使用 Visual Studio Code 进行 C/C++ 的 debug 时,调试控制台会一下子出现,一下子消失,导致无法查看输出结果。这是因为控制台程序执行完成后就立刻退出了,而调试控制台会立刻关闭。这个问题可以通过添加一个 system("pause"); 来解决,但这又需要手动添加,不够智能化。

解决方案

针对此问题,有两种解决方案。

方案一:使用 launch.json

在 VSCode 中的 launch.json 文件中添加 "externalConsole": true 属性。这样,在运行程序时,会在系统中打开一个新的控制台窗口,程序结束后窗口不会关闭,可以自由查看输出结果。

launch.json 文件路径:打开 VSCode 左侧的调试界面,点击创建 launch.json

具体操作如下:

  1. 打开 VSCode 左侧的调试界面(快捷键为 Ctrl+Shift+D);
  2. 点击Create a launch.json file按钮;
  3. 在弹出的选单中,选择 C++ (Windows)
  4. 编辑 launch.json 文件,在 configuration 节点下找到 console 属性,修改为 "console": "externalTerminal"
  5. 然后继续进行调试,此时就可以正常看到输出结果了。

launch.json 文件示例:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug C++",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${workspaceFolder}/a.out",
            "args": [],
            "stopAtEntry": false,
            "externalConsole": true,
            "cwd": "${workspaceFolder}",
            "console": "externalTerminal",
            "preLaunchTask": "compile"
        }
    ]
}

方案二:安装拓展包

此方案是通过安装拓展包的方式解决此问题。

步骤如下:

  1. 打开 VSCode 插件市场,搜索安装 Code Runner 插件;
  2. 安装成功后,在编辑器中打开 C/C++ 代码,按下 Ctrl+Alt+N 即可运行程序;
  3. 运行结果会在新的控制台窗口中显示,不会因程序结束而关闭。

示例代码:

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World!" << endl;
    return 0;
}

再次强调,如果选择方案一,则需在 launch.json 文件中配置 "externalConsole": true 属性;如果选择方案二,则需安装 Code Runner 插件并使用 Ctrl+Alt+N 执行代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决vscode下调试c/c++程序一闪而过的问题(Windows) - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C++德州扑克的核心规则算法

    C++德州扑克的核心规则算法 C++德州扑克的核心规则算法主要包括底牌牌型的判断、公共牌牌型的判断、牌的大小比较等,下面将具体介绍这些算法的实现方法。 底牌牌型的判断 底牌牌型的判断是德州扑克中最基本的规则之一,其判断方法如下: 先根据底牌的花色和点数进行分类,将相同花色的牌和相同点数的牌分开。 判断是否存在对子、三条、四条等牌型,如果存在,则底牌的牌型为该…

    C 2023年5月23日
    00
  • C++中对象的赋值与复制操作详细解析

    C++中对象的赋值与复制操作详细解析 对于C++开发者来说,对象的赋值和复制操作是非常常见的操作,然而,它们并不总是像我们想象中的那样简单,不合理的复制操作甚至会导致程序崩溃。本文将详细讲解C++中对象的赋值和复制操作。 赋值操作符 当我们创建一个对象并赋值给另一个对象时,我们需要使用赋值操作符(=)。如下所示: MyClass obj1; MyClass …

    C 2023年5月22日
    00
  • Bootstrap3使用typeahead插件实现自动补全功能

    下面会详细讲解如何使用 Bootstrap3 的 typeahead 插件来实现自动补全功能。 1. 安装 Bootstrap3 和 typeahead 插件 首先需要在网页中引入 Bootstrap3 和 typeahead 插件的文件。在 head 部分加入以下代码: <!– 引入 Bootstrap3 样式表文件 –> <link…

    C 2023年5月23日
    00
  • C语言实现求最大公约数的三种方法

    C语言实现求最大公约数的三种方法 最大公约数是指两个或多个整数共有约数中的最大值。下面我们将介绍 C 语言实现求最大公约数的三种方法。 1.辗转相减法 辗转相减法的基本思想是用大数减去小数,然后再用得出的差值去减小的数,这样一直操作,直到所减两数相等。 代码如下: int gcd(int x, int y) { while(x != y) { if(x &g…

    C 2023年5月22日
    00
  • C++文件读写代码分享

    C++文件读写代码分享 在C++中,可以通过文件读写来实现将程序处理过的数据存储起来,或者是从外部文件读取数据。本文将介绍C++中文件读写的相关内容,包括文件的打开、读写、关闭等操作,同时提供两个示例供参考。 文件的打开与关闭 文件的打开与关闭是文件读写操作的前提,只有先打开文件,才能够进行文件的读写,读写完成后,还要关闭文件,以释放文件系统资源。 打开文件…

    C 2023年5月24日
    00
  • asp.net JSON 序列化技术分析

    下面我将为您详细讲解“asp.net JSON 序列化技术分析”的完整攻略。 1. JSON序列化介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁性和易于读写而在互联网数据传输中被广泛应用。在asp.net中,JSON序列化是将.NET对象序列化为JSON格式的字符串,以便于在web应用程序中传递数据…

    C 2023年5月23日
    00
  • C++实现关机功能详细代码

    实现关机功能的方法会因操作系统的不同而有所差异。在这里,我们以Windows操作系统为例,介绍使用C++实现关机功能的方法。 步骤 1. 引入头文件 首先需要引入Windows.h头文件,该头文件中包含的一些函数可以直接调用Windows API的功能。 #include <Windows.h> 2. 使用Windows API函数 Window…

    C 2023年5月24日
    00
  • 如何用C++制作LeetCode刷题小技巧-错题记录本

    下面是针对“如何用C++制作LeetCode刷题小技巧-错题记录本”的完整攻略,具体步骤如下: 步骤一:创建一个C++项目 首先,打开你喜欢的C++ IDE,创建一个新项目。你可以使用任何你想用的IDE,比如 Visual Studio、Code::Blocks、Dev-Cpp等等。 步骤二:下载LeetCode的数据结构 在C++中,数据结构非常重要。因此…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部