FastBasic Debugger 0.6.2
分类: 下载/工具 · 工具软件 | 来源: 点击进入 | 版本: 0.6.2 |
日期: 2025-05-14 | 人气: | 大小: |
标签: color-theme theme debuggers multi-root ready __ext_bas BASIC __ext_lst __ext_fb Atari FastBasic FastBasic |
FastBasic Debugger:在Visual Studio Code中提升Atari编程调试体验
FastBasic Debugger是一款正在开发中的扩展,旨在为Windows或Mac上的Visual Studio Code用户提供一流的FastBasic调试体验。只需按下F5键即可开始调试,或按Ctrl F5运行而不调试。
首次调试时,扩展将提示下载FastBasic编译器和适用于特定平台的Atari仿真器,并配置仿真器以便调试使用。在运行过程中,您可以调整仿真器设置,如NTSC vs PAL、启用操纵杆等。
如果遇到问题,请通过以下链接反馈:https://forums.atariage.com/topic/351055-fastbasic-debugger-extension-for-vscode/
功能亮点:
- 自动下载最新版本的FastBasic和Atari仿真器(Altirra或AtariMacX),适用于Windows或Mac。
- 通过单键操作即可编译并在仿真器中运行或调试。
- 在调试过程中查看并修改变量。
- 悬停查看变量值(十进制/十六进制)及内存地址。
- 在任意行设置断点,逐行步进代码。
- 跳转到特定行(注意:没有作用域检查)。
- 在大纲视图中查看所有过程。
- 通过按F12导航到过程定义。
- 受Atari BASIC启发的配色方案和语法高亮(仍在开发中)。
运行或调试:
按F5键进行调试,按Ctrl-F5键运行而不进行调试。
该扩展将源代码编译为XEX文件,并在仿真器中运行。如果编译失败,错误信息将显示在输出面板中。
在使用F5调试时,将在最后一行添加一个"GET"语句,使程序在退出前等待最后一次按键。而通过Ctrl F5运行时,不会添加此行。
变量管理:
在调试过程中停止在某一行时,变量将以多种方式显示:
- 在变量面板中查看。
- 悬停在源代码中的变量名上查看(显示十进制和十六进制值,以及变量在内存中的地址)。
- 通过右键点击变量并将其添加到监视面板中。
支持所有变量类型:
- 整数:myVar
- 浮点数:myVar%
- 字符串:myVar$
- 数组(字节、浮点数、整数、字符串)
注意: 为了性能考虑,超过256个条目的数组将不会显示内容。
过程管理:
- 大纲视图列出文件中的所有过程。
- 点击定义查看其代码。
- 通过按F12查看代码中@proc的定义。
主题:
目前仍在开发中,但正在制作一个接近原始Atari BASIC编写体验的主题,包括字体和一些彩色语法高亮。
当前限制:
这是一个正在进行中的项目,存在以下限制:
- 程序使用#4和#5通道与调试器通信,因此您的程序必须使用不同的通道(如#1、#2)进行I/O。我选择#4和#5因为这些通常不被使用。
- 只能在程序停止调试或未运行时设置/删除断点。这是为了保持程序执行速度快。
- 如果您的程序有大量变量(或具有许多条目的数组),逐行步进(F10)时会出现明显的暂停。这是由于每次行执行后,所有变量内存都会发送到调试器。
- 这些限制可能会在未来通过使用不同的通信方法(如H4:主机驱动)来解决。
常见问题/故障排除:
如果下载/安装FastBasic或仿真器失败怎么办? 确保您选择的文件夹具有写入权限。无论您选择哪个文件夹,扩展都会在其中创建子文件夹用于FastBasic和仿真器。
我设置了断点并开始调试,但代码从未在断点处停止
- 确保您的断点位于执行有效操作的行上。不能在空行、注释行、PROC的开始或结束、或DATA语句上设置断点。
- 关闭仿真器并重新尝试调试。
幕后(调试工作原理):
(本节仍在开发中)当您按下F5键时,会发生以下情况:
- 特殊的调试FastBasic过程会被附加到您的程序末尾,并使用唯一的前缀以免干扰现有程序。
- 在源文件所在的文件夹内创建一个"bin"文件夹。FastBasic在此创建中间文件和最终的XEX文件。
- 然后配置仿真器,将H4:主机驱动指向bin文件夹,FastBasic调试过程通过读取/写入临时debug_*文件与扩展进行通信。
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 204次学习
-
- MySQL数据管理之备份恢复案例解析视频教程
- 《MySQL数据管理之备份恢复案例解析视频教程》MySQL是一个开放源码的小型关联式数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
- 160次学习
-
- MySQL索引优化解决方案
- 本套课程是根据MySQL索引的设计理念与数据结构、索引使用场景、索引分类、索引运用场景、索引性能分析、查询优化、MySQL索引的慢查询等组成,主要讲述了MySQL索引优化的解决方案,非常适合有MySQL使用基础或者有一定工作经验的同学。课程讲解了解决大数量查询慢的问题、如何编写一个高效的SQL、查询语句应该如何优化、索引的实现原理是什么、索引又应该如何优化...等诸多SQL索引优化的难点和面试点。
- 182次学习
-
- 极客学院Docker视频教程
- Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是各大厂商的支持,都使Docker成为了时下最受关注的技术,甚至微软都声称在下一代WindowsServer中集成对Docker的支持。所以我们收集了《极客学院Docke
- 243次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 127次学习
-
- JavaScript极速入门
- 本套课程将帮助大家迅速掌握JavaScript这门高端的、动态的、弱类型编程语言。知识点简单明了,让你学习0压力,适合新手观看学习......
- 431次学习
-
- Golangmap实践及实现原理解析
- 2022-12-28 505浏览
-
- GoLand调式动态执行代码
- 2023-01-13 502浏览
-
- 试了下Golang实现try catch的方法
- 2022-12-27 502浏览
-
- 用Nginx反向代理部署go写的网站。
- 2023-01-17 502浏览
-
- MySQL主从切换的超详细步骤
- 2023-01-01 501浏览
-
- Mysql-普通索引的 change buffer
- 2023-01-25 501浏览