当前位置: 首页 > news >正文

mac下 vscode 运行 c++无法弹出窗口

  Configure C/C++ debugging

Mac 下,自带的C 编译器是 Clang 而不是 GCC,虽然在命令行中输入 gcc 是有反应的,但是实际上 gcc 被软连接到 clang 上了,所以实际上只有 Clang。Mac 的 Clang 是 Xcode Command Line Tools(CLT)的一部分,Xcode 和 CLT 和 Clang 的版本有着绑定关系,不知道能不能随意替换成自己构建的版本。

而 Clang 配套的调试器不是 gdb,而是 lldb,是 llvm 体系下的东西。而如果要换成 gdb 调试器,貌似要创建证书等复杂操作,比较麻烦。在vscode 中使用 lldb 存在限制:

vscode 官方文档提到:

macOS: When set to true, it will spawn an external console through lldb-mi. When set to false, the output can be seen in VS Code's debugConsole. Due to limitations within lldb-mi, integratedTerminal support is not available.
macOS :设置为 true 时,将通过 lldb-mi 生成外部控制台。设置为 false 时,可在 VS Code 的 debugConsole 中查看输出。由于 lldb-mi 本身的限制,集成终端 (integratedTerminal) 支持不可用。

也就是说,无论如何无法输出内容到集成终端,要么外部终端,要么输出在调试控制器,通过调整 launch.json 文件的"externalConsole": 来设置。

设置为 true 时,启动外部终端(即系统的 terminal 来输出内容)

设置为 false 时,只能在调试控制器输出内容。(注意,调试控制器貌似不能输入内容)。如图。

而此时终端只是显示:

生成已成功完成。
 *  终端将被任务重用,按任意键关闭。 

如果还是想输出东西在集成终端,要么手动在集成终端运行编译和运行的指令,要么使用 code runner 一键运行。但是想使用 vscode 的调试功能,那就没有办法了。

http://www.dtcms.com/a/297101.html

相关文章:

  • 云原生介绍
  • 云原生 —— K8s 容器编排系统
  • FunASR实时多人对话语音识别、分析、端点检测
  • SQLite Insert 语句详解
  • 视频质量检测效率提升28%!陌讯多模态融合方案在流媒体场景的技术实践
  • 低速信号设计之 SWD 篇
  • Windows-WSL-Docker端口开放
  • 【Java学习】匿名内部类的向外访问机制
  • C++ - 模板进阶
  • 物理机的一些故障
  • JavaWeb项目入门(从0开始)
  • 进阶向:基于Python的局域网聊天工具(端对端加密)
  • Hadoop 之 Yarn
  • iOS 网络请求常用依赖库与系统自带 API 介绍与示例
  • 在 Azure 中配置 SMS 与 OTP
  • 【IDEA】idea怎么修改注册的用户名称?
  • Java环境配置之各类组件下载安装教程整理(jdk、idea、git、maven、mysql、redis)
  • SpringBoot3(若依框架)集成Mybatis-Plus和单元测试功能,以及问题解决
  • 【人工智能与机器人研究】透水混凝土道路养护的无人机系统编队控制:一种扩散方程方法
  • Sklearn 机器学习 数值指标 均方误差MSE
  • 力扣 hot100 Day55
  • 51 单片机单文件多文件结构工程模板的创建教程
  • 如何将 iPhone 备份到 Mac/MacBook
  • RIGOL DS1104Z图像保存与市电测量
  • Mkdocs相关插件推荐(原创+合作)
  • Kotlin 内联函数
  • 栈的核心原理
  • 开源项目XBuilder的user逻辑
  • 蓝光中的愧疚
  • MCP工具开发实战:打造智能体的“超能力“