Mojo使用调试工具(Visual Studio Code)详解

news2025/1/11 10:04:32

Visual Studio Code 的 Mojo 扩展使您可以将 VS Code 的内置调试器与 Mojo 程序一起使用。(Mojo 扩展还支持调试 C、C++ 和 Objective-C。)

有关 VS Code 调试功能的完整介绍,请参阅 Visual Studio Code 中的调试。

本文介绍了可通过 Mojo 扩展获得的功能,以及 Mojo 调试器的当前限制。

Mojo SDK 包含LLDB 调试器和 Mojo LLDB 插件。它们共同为 Mojo 扩展提供了低级调试接口。您还可以使用该mojo debug命令使用 LLDB 启动命令行调试会话或在 VS Code 中启动 Mojo 调试会话。

开始调试


有几种方法可以在 VS Code 中启动调试会话。

要开始调试,您需要有一个 Mojo 项目进行调试。本文以GitHub上的 Mojo repo中有许多从简单到复杂的示例进行展示。

VS Code 老手?
如果您已经熟悉 VS Code 中的调试,本节中的材料将主要作为复习。

快速运行或调试


如果您的活动编辑器选项卡包含带有入口点的 Mojo 文件fn main(),则运行或调试它的最快方法之一是使用编辑器工具栏中的运行或调试按钮。
在这里插入图片描述
开始调试当前文件:

  • 打开运行或调试下拉菜单并选择调试 Mojo 文件或 在专用终端中调试 Mojo 文件。
    在这里插入图片描述
    这两个调试配置在处理输入和输出的方式上有所不同:
  • Debug Mojo File可启动与任何终端分离的 Mojo 程序。程序的标准输出和标准错误输出显示在 Debug Console中。您无法写入程序的标准输入,但您可以在一个位置查看程序的输出并与调试器交互。
  • 专用终端中调试 Mojo 文件会创建 VS Code 集成终端的新实例,并将程序的输入和输出附加到终端。这样您就可以在终端中与程序的标准输入、标准输出和标准错误输出进行交互,而调试控制台仅用于与调试器进行交互。

运行或调试按钮使用预定义的启动配置。目前无法修改使用运行或调试配置args启动的程序的、env或cwd其他设置。如果您需要自定义其中任何内容,请参阅后面的 编辑启动配置。

选择其中一个调试配置后,按钮会更新以显示调试符号。单击该按钮可重新运行上一个配置。

在这里插入图片描述

运行和调试视图


运行和调试视图包含一个用于启动调试会话的按钮和一个用于选择调试配置的菜单。它还包含用于显示当前变量、监视表达式、当前调用堆栈和断点的区域。
在这里插入图片描述
图 1.运行和调试视图

要打开运行和调试视图,请单击活动栏(在 VS Code 窗口左侧)中的 运行和调试图标,或者按 (在 macOS 上)。Control+Shift+D Command+Shift+D
在这里插入图片描述
如果您尚未在当前项目中创建任何启动配置,VS Code 将显示运行启动视图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1987402.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【k8s集群部署篇】在openEuler环境下部署多master高可用kubernetes集群详细教程(V1.30版本)

【k8s集群部署篇】在openEuler环境下部署多master高可用kubernetes集群详细教程(V1.30版本) 一、相关名词介绍1.1 k8s简介1.2 Keepalived简介1.3 HAProxy简介二、本次实践介绍2.1 环境规划介绍2.2 本次实践简介三、所有节点基础环境配置3.1 主机配置工作3.2 关闭防火墙和seli…

[Unity实战]Mirror网络与Addressable场景管理

前言 很遗憾,Mirror包括UNET的场景管理不支持Addressables。我做手机游戏,需要实现服务器广播场景切换,但主程序没有场景,热更代码和资源都在AB包里。我已经在Google上搜索了一段时间,没有找到有用的解决方案。 Redd…

KVM——虚拟机中使用命令行形式安装虚拟机

目录 一. 删除虚拟机中的虚拟机步骤 二. 虚拟机中以命令行形式安装虚拟机 一. 删除虚拟机中的虚拟机步骤 这样就删除成功了。 二. 虚拟机中以命令行形式安装虚拟机 安装 [rootkvm-server ~]# virt-install --connect qemu:///system -n vm10 -r 3100 --disk path/var/lib…

【Material-UI】复杂按钮 (Complex Button) 自定义详解

文章目录 一、ButtonBase 组件简介二、实例讲解:创建复杂的图片按钮1. 样式定义2. 核心组件构建3. 交互效果 三、高级自定义技巧1. 响应式设计2. 动态内容与动画 四、总结 在现代 Web 应用中,按钮不仅仅是一个点击交互元素,它们也承载着传递信…

批发行业进销存-登录适配 android 横竖屏幕 源码CyberWinApp-SAAS 本地化及未来之窗行业应用跨平台架构

一、横竖屏切换的意义 以下是移动端横屏竖屏可切换在进销存中的一些重要应用: a、数据录入与查看 在录入商品信息、库存数量等大量数据时,横屏模式可以提供更宽阔的输入区域,减少输入错误。例如,在输入长串的商品编码或详细的商…

数值分析【1】

第一章: 相对误差 四 规格化浮点数 秦九韶 第二章: 二分法 不动点迭代法 Taylor 埃特金加速 构造新的同根函数 有个公式 牛顿法(切线法)、弦截法(割线法)

谷粒商城实战笔记-137-商城业务-首页-整合dev-tools渲染一级分类数据

文章目录 一,使用热加载工具spring-boot-devtools1,引入devtools依赖2,ctrlshiftf9 编译静态资源 二,thymeleaf原理三,渲染一级分类 一,使用热加载工具spring-boot-devtools 因为我们采用的前后端一体的开…

Windows 平台 Docker Protainer可视化平台,忘记登录密码,重置密码

下载protainer 的文件 运行重置密码的密令 docker run --rm -v C:\Users\Administrator\AppData\Local\Docker:/data portainer/helper-reset-password成功运行后可以看到重置的密码 把key 和db 文件重新上传到容器里 docker cp portainer.key portainer:/data/portainer.k…

5.10.结构化开发方法-结构化分析

案例分析第一题会考 结构化特点:自顶向下,逐步分解,面向数据。三大模型:功能模型(数据流图)、行为模型(状态转换图)、数据模型(E-R图)以及数据字典。 数据流图DFD 数据流图DFD基…

网络IO模型及零拷贝问题

文章目录 BIOaccept监听案例read案例利用多线程 NIO案例NIO存在的问题 IO multiplexing-IO多路复用文件描述符(FD,句柄) 是什么reactor反应模式 select方法优点缺点小总结 poll方法优点缺点 epoll方法 Reactor模式单Reactor单线程 单Reactor多线程主从Re…

linux docker安装 gitlab后忘记root密码如何找回

1. docker ps - a 查看当前gitlab 当前的id2. docker exec -it gitlab /bin/bash 进入docker git 容器中【gitlab 注意可以上图中的name,也可以是id都可以的】,如下图3.gitlab-rails console -e production 输入该指令,启动Ruby on Rails控制台&…

Copy as cURL 字段含义

当前端在开发过程中,遇到接口错误反馈给后端人员时,一般在此接口处右键复制为cURL。 格式如下: curl https://xxx.xxx.cn/xxx/xxx/management/record/list \-H accept: application/json, text/plain, */* \-H accept-language: zh-CN,zh;q0…

LVS集群中的负载均衡技术

目录 1、LVS技术原理 2、NAT模式原理及部署方法 1、工作原理 2、部署方法 1、网络配置 2、软件安装与启用 3、测试 2、DR模式工作原理及部署方法 1、工作原理 2、部署方法 1、网络配置 2、解决vip响应问题 3、测试 3、ipvsadm命令及参数 1.管理集群服务中的增删…

数据同步工具之Flink CDC

Flink CDC(Change Data Capture)是基于Apache Flink的一个扩展,用于捕获和处理数据库中的数据变化。它能够实时捕获关系数据库中的数据变更(如插入、更新、删除操作),并将这些变更流式传输到Flink进行处理。…

【OceanBase系列】—— OceanBase应急三板斧

作者: 花名:洪波, OceanBase 数据库解决方案架构师 目前随着OceanBase数据库越来越流行,社区已经有很多用户在生产环境使用了OceanBase,也有不少用户的核心业务用到了OceanBase数据库,在使用OceanBase数据库…

演示:基于WPF的DrawingVisual开发的矢量地图

一、目的:基于WPF的DrawingVisual开发的矢量地图 二、预览 默认样式 深黑样式 深蓝色样式 深蓝色透明样式 三、环境 VS2022,Net7,GDAL,审图号为GS(2019)1822号矢量数据,DrawingVisual 四、主要功能 支持多种显示样式(默认样式&…

代码随想录27期|Python|Day39|​62. 不同路径​|​63. 不同路径 II​

62. 不同路径 简单题。由于规定了只能走右边和下边,所以右下角的值等于左对角线的两数之和。 1、确定dp和下标:二维数组,i,j分别为行和列,dp值为所需步数; 2、 初始化:只有上边和左边全部初始…

Java二十三种设计模式-享元模式(12/23)

享元模式:高效管理大量对象的设计模式 引言 在软件开发中,有时需要处理大量相似或重复的对象,这可能导致内存使用效率低下和性能问题。享元模式提供了一种解决方案,通过共享对象的共同部分来减少内存占用。 基础知识&#xff0c…

Apache OFBiz 曝出严重漏洞,允许预身份验证 RCE

近日,研究人员发现 Apache OFBiz 中存在一个新的关键漏洞,该漏洞是 Apache OFBiz 中的一个错误授权问题,被追踪为CVE-2024-38856。该漏洞影响 18.12.14 之前的版本,18.12.15 版本解决了该漏洞。 SonicWall 的安全研究员 Hasib Vh…

字节跳动发Seed-TTS语音合成模型,可模仿任意人的声音,效果逼真

前期我们介绍过很多语音合成的模型,比如ChatTTS,微软语音合成大模型等,随着大模型的不断进步,其合成的声音基本跟真人没有多大的区别。本期介绍的是字节跳动自家发布的语音合成模型Seed-TTS。 Seed-TTS 推理包含四个功能模块&…