笑看天下无敌手 发表于 2024-10-7 14:22:41

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

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

这里用一个简朴的输入输出示例阐明我遇到的题目。当我进行调试时,发现程序的输出是在调试控制台,并且在这里我无法进行输入。(也就是对应scanf的那条语句开始无法继续向下推进)。
https://i-blog.csdnimg.cn/blog_migrate/5509cb9a1629af87a135b3e3d56f5897.png
因此,我必要寻求方法,解决调试过程中无法进行输入的题目。
二、解决方法

(有多种解决方法,这里选择我认为最易于进行的方法)
Step1:下载相关插件(这一步简朴带过)
安装CodeLLDB的扩展插件。
https://i-blog.csdnimg.cn/blog_migrate/5acc08385bb709420347895642d78f1e.png#pic_center
Step2:生成可执行文件
这里既可以直接在终端中输入g++命令,也可以直接点击vscode右上角的运行按钮。
https://i-blog.csdnimg.cn/blog_migrate/22b03cac8d4055490cea653176f05c84.png#pic_center
颠末这一步,我们会发现当前目录下生成了可执行文件。此时,我们就可以进行调试了。
https://i-blog.csdnimg.cn/blog_migrate/37b24d367e8d3cd7d3cd2d18f89a63eb.png#pic_center
Step3:调试(修改launch.json文件)
按fn+F5(发起这种方法不要选择右上角的调试按钮),然后选择LLDB调试器。
https://i-blog.csdnimg.cn/blog_migrate/019ee578284a9b389eabef66edc9fce3.png#pic_center
可以看到在当前目录下多了.vscode文件夹,并且主动创建了launch.json文件。(这个时候直接进行调试会报错/仍旧无法处置处罚输入题目)
https://i-blog.csdnimg.cn/blog_migrate/fa4738295191dd99da3604b83384db66.png#pic_center
这里我们必要修改两个地方:
1、使用集成终端来运行和调试程序:增加 “terminal”: “integrated”,
2、运行当前文件所在目录下的同名可执行文件:修改program属性为:“${workspaceFolder}/${fileBasenameNoExtension}”
如下图所示,为了方便复制,把这段configurations粘贴在这里:
"configurations": [
      {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            "terminal": "integrated",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}",
            "args": [],
            "cwd": "${workspaceFolder}"
      }
    ]
https://i-blog.csdnimg.cn/blog_migrate/e8e0d7324ba068e5e01bc802070d570c.png#pic_center
至此,修改完成。此时我们再按fn+F5,发现调试可以处置处罚我们的输入语句了。
https://i-blog.csdnimg.cn/blog_migrate/b703fa09124ab782736c7fd172782404.png#pic_center
三、解决每次都必要修改配置文件的方法

在上面的步骤中,已经能解决在当前项目下debug无法处置处罚输入的题目了。但是如果换一个项目,依然要重新经历一次上面的配置修改,较为麻烦。因此思量解决每次都必要重新修改配置文件的题目。(一种比较简便的方法是将配置文件保存成模板,新建项目后拷贝进去)这里介绍一种更方便的方法:在VSCode的全局用户设置中配置一个默认的launch.json文件。
使用快捷键command+,打开设置。点击settings.json,这个文件是用来存储VS Code的全局用户设置的。
https://i-blog.csdnimg.cn/blog_migrate/6de1b9e3d4e3739476d53fc98be45ae0.png#pic_center
找到名为"launch"的属性,它的值是一个对象,对象中包含了我们想要配置的launch.json文件的内容。
https://i-blog.csdnimg.cn/blog_migrate/0f6728951e868449323b0638bbbc88ad.png#pic_center
根据我们这次的内容修改为如下所示:
https://i-blog.csdnimg.cn/blog_migrate/3e2f5ce40cf31df44bab79d83e9ea9f9.png#pic_center
今后,我们纵然新建一个项目,不必要重新配置调试也可以处置处罚输入了。
   个人记载:python是表明类型的语言,与之处置处罚方式差别。颠末一些处置处罚,在本电脑下调试时直接按右上角的调试按钮选择python调试进行调试即可。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 解决MAC中vscode调试C++代码无法处置处罚输入的题目