C 调试器在调试器模式打开时无法打印或获取输入

在 .vscode 文件夹中:

我的lanch.json:

    "configurations": [        {            "name": "c/c++: gcc.exe build and debug active file",            "type": "cppdbg",            "request": "launch",            "program": "${filedirname}${filebasenamenoextension}.exe",            "args": [],            "stopatentry": false,            "cwd": "${filedirname}",            "environment": [],            "externalconsole": false,            "mimode": "gdb",            "midebuggerpath": "c:mingwbingdb.exe",            "setupcommands": [                {                    "description": "enable pretty-printing for gdb",                    "text": "-enable-pretty-printing",                    "ignorefailures": true                },                {                    "description": "set disassembly flavor to intel",                    "text": "-gdb-set disassembly-flavor intel",                    "ignorefailures": true                }            ],            "prelaunchtask": "c/c++: gcc.exe build active file"        }    ],    "version": "2.0.0"}

task.json :

{    "tasks": [        {            "type": "cppbuild",            "label": "c/c++: gcc.exe build active file",            "command": "c:mingwbingcc.exe",            "args": [                "-fdiagnostics-color=always",                "-g",                "${file}",                "-o",                "${filedirname}${filebasenamenoextension}.exe"            ],            "options": {                "cwd": "${filedirname}"            },            "problemmatcher": [                "$gcc"            ],            "group": {                "kind": "build",                "isdefault": true            },            "detail": "task generated by debugger."        }    ],    "version": "2.0.0"}

c_cpp_properties.json:

{    "configurations": [        {            "name": "win32",            "includepath": [                "${workspacefolder}/**"            ],            "defines": [                "_debug",                "unicode",                "_unicode"            ],            "windowssdkversion": "10.0.22621.0",            "cstandard": "c17",            "cppstandard": "c++17",            "intellisensemode": "gcc-x64",            "compilerpath": "c:/mingw/bin/gcc.exe"        }    ],    "version": 4}

C 调试器在调试器模式打开时无法打印或获取输入

代码:

#include int main(){int i;scanf("%d", &i);printf("you entered: %d", i);return 0;}

终端:

ps c:users*onedrivedocumentsinterview prepdsa 和小学习> & ‘c:users**.vscodeextensionsms-vscode.cpptools-1.23.0-win32-x64debugadaptersbinwindowsdebuglauncher.exe’ ‘–stdin=microsoft- miengine-in-caznmueg.sx2”–stdout=microsoft-miengine-out-kpfaclzx.m3o”’–stderr=microsoft-miengine-error-nq1rgwan.vxy”’–pid=microsoft-miengine-pid-d12jsuyv .lf0′ ‘–dbgexe=c:mingwbingdb.exe’ ‘–interpreter=mi’

当我按 f5 时,意味着我调试我的 c 代码,如果 scanf 存在,如果调试器位于 scanf ,并且如果我按 f10 ,则它不会打印任何内容,也不会接受任何输入,然后如图所示,什么也不会发生。我只能将鼠标悬停并查看变量值。我已经安装

 set up, ```codeLLB``` and code runner extensions, as well.Also, If I not put debugger at scanf function: it waits for input ,but when i write something and hit enter, nothing happens, also the debugger not allow to step next step...And after that if i stop the debugger, then what ever i wrote in terminal ,shows there immediately. Example: if i wrote fffff and then stop debugger then that word executes in terminal!

以上就是C 调试器在调试器模式打开时无法打印或获取输入的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1461083.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月18日 13:02:42
下一篇 2025年12月18日 13:02:49

相关推荐

  • C 中的冒泡排序

    排序是任何编程语言中我们都需要学习的必要概念。大多数排序是在涉及数字的数组上完成的,是掌握遍历和访问数组中数据的技术的垫脚石。我们在今天的文章中要讨论的排序技术类型是冒泡排序。 冒泡排序 冒泡排序是一种简单的排序算法,如果相邻元素的顺序错误,它的工作原理是重复交换相邻元素。这种数组排序方法不适合大型…

    2025年12月18日
    000
  • 了解并解决多线程应用程序中的错误共享以及我遇到的实际问题

    最近,我正在研究一个计算泊松分布的函数的多线程实现(amath_pdist)。目标是将工作负载分配到多个线程以提高性能,特别是对于大型阵列。然而,我注意到随着数组大小的增加,速度明显减慢,而不是达到预期的加速。 经过一番调查,我发现了罪魁祸首:虚假分享。在这篇文章中,我将解释什么是错误共享,展示导致…

    2025年12月18日
    000
  • 理解 C/C++ 中的 char**

    在c++和c++中,char**是指向char类型的指针。它通常用于表示字符串数组,例如命令行参数 (argv)、动态字符串数组或每行都是一个字符串的二维数组。尽管一开始会令人困惑,但通过一些示例,您将看到它的操作方式与处理“字符串表”类似。 什么是 char* *?char* 是指向 char 的…

    2025年12月18日
    000
  • 什么是嵌入式系统?

    英文版 嵌入式系统(或集成系统)是专门为在较大设备中执行特定功能而设计的计算系统。它们由专用于预定义任务或一组任务的硬件和软件组成,通常具有有限的实时性和资源要求。 这些系统通常用于物联网(IoT),或者简称为物联网。其目标是将这些系统或设备与互联网集成。 现在我们有各种各样的嵌入式系统,包括: 智…

    2025年12月18日
    000
  • 多线程编程的原理与实现

    多线程编程是一种将程序拆分为并发执行的线程的技术,提高效率。实现原理包括:创建线程、定义行为、启动线程、协调和终止线程。 多线程编程原理与实现 原理 多线程编程是一种将一个程序分解为多个并发执行的线程的编程技术。它允许程序同时处理多个任务,从而提高效率。 每个线程都有自己独立的栈和程序计数器,它们共…

    2025年12月18日
    000
  • C语言面向对象编程:抽象类与接口之间的区别问答

    抽象类与接口的区别:实例化:抽象类不可实例化,接口可实现;方法:抽象类有抽象方法,接口有纯虚函数;多重实现:一个类可实现多个接口,但只能从一个抽象类派生。 C 语言面向对象编程:抽象类与接口之间的区别问答 引言 在 C++ 面向对象编程中,抽象类和接口都是用来定义接口,但它们之间存在一些关键差异。本…

    2025年12月18日
    000
  • C语言面向对象编程:封装和数据隐藏的奥秘解析

    c语言中,封装将数据和操作封装在类或结构体中,对外提供统一接口访问,提高代码可读性和可维护性。数据隐藏通过将类成员声明为private,只允许通过成员函数访问,保护敏感数据增强安全性。实战案例中,银行账户系统通过封装和数据隐藏,将账户信息和操作封装在结构体和函数中,并保护了账户信息不被外部访问。 C…

    2025年12月18日
    000
  • 使用免费 NET DIO + Randstad 的后端训练营

    免费的 bootcamp coding the future randstad – backend with .net 对于任何想要专注于 c# 编程语言和 microsoft 开发生态系统的人来说都是一个绝佳的机会。 凭借超过 8,000 个奖学金,参与者将有机会学习 .net 基础知识,成为能够…

    2025年12月18日 好文分享
    000
  • C语言面向对象编程:STL容器深入浅出问答

    stl(标准模板库)提供了以下主要容器类型:序列容器:vector、list、deque关联容器:map、set、multimap、multiset无序关联容器:unordered_map、unordered_set、unordered_multimap、unordered_multiset C 语…

    2025年12月18日
    000
  • C语言面向对象编程:模板机制解析与实例问答

    模板机制是一种泛型编程技术,允许创建可用于不同数据类型的通用代码。优势包括提高可重用性、效率和类型安全。创建模板类时,使用 template 关键字指定类型参数;使用时,传入实际类型创建该类型的对象。实战案例包括创建可用于任何类型的数据结构模板,如栈。 C语言面向对象编程:模板机制解析与实例问答 模…

    2025年12月18日
    000
  • C++中面向对象编程VS C#中面向对象编程

    C++ 和 C# 中的面向对象编程 (OOP) 面向对象编程 (OOP) 是软件开发中一种流行且强大的范式。它基于将数据和操作封装成相连对象的概念。这允许更模块化和可重用的代码。 C++ 中的 OOP 类和对象:类是对象的蓝图,它定义了对象的数据成员和方法。对象是类的实例,它们包含具体数据。继承:类…

    2025年12月18日
    000
  • C++ 函数的 STL 函数有哪些用于泛型算法?

    stl 函数是 c++++ 泛型算法函数,用于执行常见数据操作。它们包括:find:查找元素count:计算元素出现次数transform:转换元素min_element/max_element:查找最大/最小元素sort:排序容器元素 STL 函数:C++ 函数中用于泛型算法 标准模板库(STL)…

    2025年12月18日
    000
  • C++ 函数类的移动构造函数和移动赋值运算符如何定义和使用?

    定义移动构造函数和移动赋值运算符允许在不复制数据的情况下移动函数对象。移动构造函数:通过使用 rvalue 引用捕捉所有权,将数据移动,无需复制。移动赋值运算符:通过使用 std::swap,将数据移动,无需复制,并返回自身引用。实战案例:使用移动构造函数和移动赋值运算符优化函数类的函数对象的移动。…

    2025年12月18日
    000
  • C++ 函数库函数在哪些场景下适用?

    C++ 函数库函数的适用场景 函数库函数是一组预定义的函数,它们可以在各种编程场景中提供特定功能。以下是使用 C++ 函数库函数的一些常见场景: 1. 数学和科学计算 sqrt()、pow()、exp():数学计算sin()、cos()、tan():三角函数rand():随机数生成 2. 字符串处理…

    2025年12月18日
    000
  • C++ 函数的类方法如何传递参数?

    类方法传递参数有两种方式:通过函数签名明确声明参数。作为 this 指针隐式传递类实例,它可以访问非静态成员。 C++ 函数的类方法如何传递参数 类方法是 C++ 中特殊类型的方法,它们属于类本身,而不是类的实例。它们通常用于操作类的静态数据成员或执行类级别的任务。 类方法可以通过两种方式传递参数:…

    2025年12月18日
    000
  • C++ 函数的 STL 映射有哪些?

    stl 的映射(std::map)是一种关联式容器,用于存储键值对,键是唯一的,可快速查找和插入。它支持按键排序存储和检索元素,并提供多种操作方法。stl 还提供了其他映射类型,如 std::multimap、std::unordered_map 和 std::unordered_multimap,…

    2025年12月18日
    000
  • C++ 类方法的异常处理实践

    在类方法中处理异常对于编写健壮代码至关重要。异常处理的步骤包括:抛出异常:使用 throw 关键字后跟异常对象。捕获异常:使用 try-catch 语句处理可能抛出的异常,根据异常类型进行捕获。基类处理异常:在基类中使用 catch(…) 捕获所有异常。实践案例:使用 filesearc…

    2025年12月18日
    000
  • C++ 函数的 STL set 怎么用?

    c++++ stl set 是一种有序、唯一元素集合容器,它允许插入、删除、查找和判断空等基本操作。它可以存储各种类型的数据,如整数或字符串。例如,要存储整数集合,可以使用 set,而要存储字符串集合,可以使用 set。 C++ 函数的 STL set 怎么用 简介 STL set 是 C++ 标准…

    2025年12月18日
    000
  • C++ 函数指针如何用于动态加载库?

    函数指针在 c++++ 中用于在运行时指向函数,方便动态加载和调用。其语法为:typedef void (*functionpointer) (void); 和 functionptr = &somefunction;。在实战中,函数指针可用于动态加载库,例如创建一个包含“hello”函数的…

    2025年12月18日
    000
  • 如何掌握 C++ 函数预处理指令的最佳实践以提高代码质量?

    函数预处理指令的最佳实践可优化代码质量:清晰定义函数宏,以大写字母命名。使用条件编译提高灵活性,根据条件启用或禁用代码块。避免宏中的副作用,以确保可预测性。谨慎使用预编译头文件,以避免增加程序大小和复杂性。采用清晰的命名规则,以提高可读性和可维护性。 如何掌握 C++ 函数预处理指令的最佳实践以提高…

    2025年12月18日
    000

发表回复

登录后才能评论
关注微信