解决MAC中vscode调试C++代码无法处理输入的问题

这篇具有很好参考价值的文章主要介绍了解决MAC中vscode调试C++代码无法处理输入的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面的话:很久没有使用C/C++进行编程了,这次在MAC电脑的vscode中对C/C++代码进行调试时,发现运行到scanf、cin等输入语句时无法输入,参考了网上一些教程,发现有些繁琐或是难以解决我的问题。因此以本文记录最终的解决方案,一来为了记录以便下次遇到时进行解决,二来希望同大家交流探讨。

一、问题描述

这里用一个简单的输入输出示例说明我遇到的问题。当我进行调试时,发现程序的输出是在调试控制台,并且在这里我无法进行输入。(也就是对应scanf的那条语句开始无法继续向下推进)。

vscode无法编辑代码,debug,macos,vscode,c++

因此,我需要寻求方法,解决调试过程中无法进行输入的问题。

二、解决方法

(有多种解决方法,这里选择我认为最易于进行的方法)

Step1:下载相关插件(这一步简单带过)

安装CodeLLDB的扩展插件。

vscode无法编辑代码,debug,macos,vscode,c++

Step2:生成可执行文件

这里既可以直接在终端中输入g++命令,也可以直接点击vscode右上角的运行按钮。

vscode无法编辑代码,debug,macos,vscode,c++

经过这一步,我们会发现当前目录下生成了可执行文件。此时,我们就可以进行调试了。
vscode无法编辑代码,debug,macos,vscode,c++
Step3:调试(修改launch.json文件)

fn+F5(建议这种方法不要选择右上角的调试按钮),然后选择LLDB调试器。

vscode无法编辑代码,debug,macos,vscode,c++

可以看到在当前目录下多了.vscode文件夹,并且自动创建了launch.json文件。(这个时候直接进行调试会报错/仍然无法处理输入问题)

vscode无法编辑代码,debug,macos,vscode,c++

这里我们需要修改两个地方:

1、使用集成终端来运行和调试程序:增加 “terminal”: “integrated”,

2、运行当前文件所在目录下的同名可执行文件:修改program属性为:“${workspaceFolder}/${fileBasenameNoExtension}”

如下图所示,为了方便复制,把这段configurations粘贴在这里:

"configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            "terminal": "integrated",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}",
            "args": [],
            "cwd": "${workspaceFolder}"
        }
    ]

vscode无法编辑代码,debug,macos,vscode,c++

至此,修改完成。此时我们再按fn+F5,发现调试可以处理我们的输入语句了。

vscode无法编辑代码,debug,macos,vscode,c++

三、解决每次都需要修改配置文件的方法

在上面的步骤中,已经能解决在当前项目下debug无法处理输入的问题了。但是如果换一个项目,依然要重新经历一次上面的配置修改,较为麻烦。因此考虑解决每次都需要重新修改配置文件的问题。(一种比较简便的方法是将配置文件保存成模板,新建项目后拷贝进去)这里介绍一种更方便的方法:在VSCode的全局用户设置中配置一个默认的launch.json文件。

使用快捷键command+,打开设置。点击settings.json,这个文件是用来存储VS Code的全局用户设置的。

vscode无法编辑代码,debug,macos,vscode,c++

找到名为"launch"的属性,它的值是一个对象,对象中包含了我们想要配置的launch.json文件的内容。

vscode无法编辑代码,debug,macos,vscode,c++

根据我们这次的内容修改为如下所示:

vscode无法编辑代码,debug,macos,vscode,c++

此后,我们即使新建一个项目,不需要重新配置调试也可以处理输入了。

个人记录:python是解释类型的语言,与之处理方式不同。经过一些处理,在本电脑下调试时直接按右上角的调试按钮选择python调试进行调试即可。文章来源地址https://www.toymoban.com/news/detail-751407.html

到了这里,关于解决MAC中vscode调试C++代码无法处理输入的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VSCode调试C++代码的多种方案

    以下内容均针对 Linux 操作系统(包括Windows的Linux子系统WSL2)。 本文是对Linux系统中使用VSCode编译调试C++代码的系列文章的总结,前面三篇文章如下: 详解C/C++代码的预处理、编译、汇编、链接全过程 Linux环境使用VSCode调试简单C++代码 Linux环境使用VSCode调试CMake工程 在VSCode中

    2024年02月14日
    浏览(51)
  • 在vscode调试c++代码报错

    . : 无法加载文件 C:UserswxnDocumentsWindowsPowerShellprofile .ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go. microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies 。 所在位置 行:1 字符: 3 . ‘C:UserswxnDocumentsWindowsPowerShellprofile.ps1’ CategoryInfo : SecurityError: ( : )

    2024年02月06日
    浏览(67)
  • Linux环境使用VSCode调试简单C++代码

    本文将通过演示一个简单C++代码的编译调试过程,介绍在VSCode中如何使用Linux环境下的GCC C++编译器(g++)和GDB 调试器(gdb)。 关于GCC、g++、gcc、gdb,这里不做详细介绍,如果感兴趣可以参考另一篇文章:详解C/C++代码的预处理、编译、汇编、链接全过程,里面有详细的解释。 看懂

    2024年02月04日
    浏览(52)
  • Visual Studio Code(VSCode) 编辑/编译/调试 C++ 代码

    最近想要切换编辑工具,之前工作中使用过 Source Insight,Eclipse,CLion 来写 C++ 代码。目前来说 Source Insight 已经非常古老,只有编写代码还说得过去,编译、调试方面都不行。Eclipse 使用的时间最长,相对来说也比较好用,但是对于 C++11 之后的 C++ 代码实际上支持的并不友好。

    2024年02月03日
    浏览(161)
  • 解决VSCode中.net无法找到路径问题(mac版本)

    查询很多帖子时,大多都是使用windows系统的小伙伴。以下内容是对应mac版本。 路径错误时如下 右上角可以看到是与C# Extension有关的,需要从ms-dotnettools.vscode-dotnet-runtime中查看 在VSCode中,打开左侧Extensions栏,点击.NET Install Tool的设置图标,选择Extension Settings 选择蓝色的Edit

    2024年04月16日
    浏览(31)
  • mac使用VsCode远程连接服务器总是自动断开并要求输入密码的解决办法

    在mac中使用vscode远程连接服务器,时常会出现自动断开并要求重新输入服务器密码的问题,接下来让我们来解决它: 1、首先,在本地创建公钥: 这条命令执行之后,出现提示直接回车即可;直到遇到Overwrite (y/n)?  输入y,之后继续回车,如下图:  2、将本地mac密匙的 id_rs

    2024年02月10日
    浏览(60)
  • 最新版本vscode 真正解决用vscode + unity搭配开发没有代码智能提示 OmniSharp服务启动 vscode调试unity准备

    成功配置gif: 在unity中设置了vscode作为脚本编辑器,在untiy中双击脚本用vscode打开并没有代码提示功能 在经过一系列搜索和比较多的尝试后,发现:vscode用来联合unity开发的服务ominsharp服务没有打开或者说启动失败 1. 下载vscode对应的dotnet SDK 网址:https://dotnet.microsoft.com/zh-cn

    2024年01月20日
    浏览(44)
  • 谷歌浏览器最新版本进行控制台调试js代码时候无法显示代码行数问题解决

    谷歌浏览器最新版本进行控制台调试js代码时候无法显示代码行数问题解决 最新版本谷歌浏览器进行了自动设置关闭那个功能,要自己去设置 解决方法 后面叉掉,重新进行js代码调试看看,如下: 代码行数出来,问题解决

    2024年02月12日
    浏览(66)
  • VSCode中修改HTML代码无法实时刷新到浏览器页面的问题解决

    天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 首先下载Live Sever 插件 参考:https://blog.csdn.net/mo_sss/article/details/132321681 下载后重启VS

    2024年02月22日
    浏览(44)
  • 关于 git 未能顺利结束(退出码1) 问题中输入解决代码后仍无法push的解决方法之一

    按照https://blog.csdn.net/weixin_43405300/article/details/124850873这篇帖子中输入代码后出现如下错误导致无法上传 此时可能是在gitee或其他托管网站上选中了邮箱不公开 取消邮箱不公开后再输入 git push -f origin master 即可

    2024年02月15日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包