解决MAC中vscode调试C++代码无法处置处罚输入的题目

打印 上一主题 下一主题

主题 1963|帖子 1963|积分 5889

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

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

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

(有多种解决方法,这里选择我认为最易于进行的方法)
Step1:下载相关插件(这一步简朴带过)
安装CodeLLDB的扩展插件。

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

颠末这一步,我们会发现当前目录下生成了可执行文件。此时,我们就可以进行调试了。

Step3:调试(修改launch.json文件)
按fn+F5(发起这种方法不要选择右上角的调试按钮),然后选择LLDB调试器。

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

这里我们必要修改两个地方:
1、使用集成终端来运行和调试程序:增加 “terminal”: “integrated”,
2、运行当前文件所在目录下的同名可执行文件:修改program属性为:“${workspaceFolder}/${fileBasenameNoExtension}”
如下图所示,为了方便复制,把这段configurations粘贴在这里:
  1. "configurations": [
  2.         {
  3.             "type": "lldb",
  4.             "request": "launch",
  5.             "name": "Debug",
  6.             "terminal": "integrated",
  7.             "program": "${workspaceFolder}/${fileBasenameNoExtension}",
  8.             "args": [],
  9.             "cwd": "${workspaceFolder}"
  10.         }
  11.     ]
复制代码

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

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

在上面的步骤中,已经能解决在当前项目下debug无法处置处罚输入的题目了。但是如果换一个项目,依然要重新经历一次上面的配置修改,较为麻烦。因此思量解决每次都必要重新修改配置文件的题目。(一种比较简便的方法是将配置文件保存成模板,新建项目后拷贝进去)这里介绍一种更方便的方法:在VSCode的全局用户设置中配置一个默认的launch.json文件。
使用快捷键command+,打开设置。点击settings.json,这个文件是用来存储VS Code的全局用户设置的。

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

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

今后,我们纵然新建一个项目,不必要重新配置调试也可以处置处罚输入了。
   个人记载:python是表明类型的语言,与之处置处罚方式差别。颠末一些处置处罚,在本电脑下调试时直接按右上角的调试按钮选择python调试进行调试即可。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

笑看天下无敌手

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表