Julia发布全功能调试器:4大新功能问世
Julia这门语言,新功因为集合了C语言的布全速度、Ruby的调试灵活、Python的新功通用于一身,获得了万千程序员的布全喜爱。
福利来了~Julia团队又发布了新的调试全功能调试器,可以以多种姿势调试代码,新功节省你的布全工作量。
有了这个新调试器的调试加持,你可以用Julia完成此前达不到的新功惊奇效果,包括:
直接进入函数并手动运行代码,布全同时检查它的调试状态 设置断点(breakpoint)、捕捉error,新功检测到底是哪里出现了错误 交互式地更新和替换现有代码,并且还能无需重新启动快速修复bug 用Juno中的全功能IDE,在易于使用的图形界面中将这些功能捆在一起是不是有点跃跃欲试了?

核心角色
这个全功能调试器为何如此秀,Julia官网解释说,这是免费信息发布网因为里面有一个核心角色:
一个强大的编译器。
官方解释说,这个编译器可以运行Julia代码,同时支持各种前端控件控制具体执行。
每一个前端都是自己的包(package):Juno IDE中就结合了调试器,Rebugger提供了一种REPL文本的UI, Debugger负责提供一般的step/next/continue命令行接口。
所有这些调试功能都可以与Revise无缝集成,所以,你可以在单独的session中连续分析和修改代码。
调试器新功能×2
下面一起来看新功能具体介绍~
Juno
Juno为编译器提供了丰富的接口,支持设置断点,还可以在源代码中直接执行。调试器REPL可以在本地环境中执行任意代码,Workspace可以帮助你检查局部变量。
下面这张图就展示的是gcd调试环节:

Juno.@run宏指令负责解释你的代码,如果遇到断点,则Juno.@enter支持你从***行重新开始。
Debugger和Rebugger
这是两个REPL接口,Debugger提供类似gdb的 “step, next, continue”接口,而Rebugger提供的站群服务器是类似IDE一样的控制接口。
Debugger能提供一些其他接口没有的功能,比如对stepping的精细控制,比如执行生成函数的生成器,所以很多情况下Debugger可以成为你的***。

神奇的包
全能新调试器不仅带来了全新的功能,还为一些已经发布的Julia包赋予了新功能。
它们可能已经不是你熟悉的包了,Julia中已经形成了新的包“生态系统”,由四组大将组成,分别是JuliaInterpreter、LoweredCodeUtils、CodeTracking、Revise和Rebugger。
JuliaInterpreter
JuliaInterpreter是整个堆栈的关键角色,包含各种评估和检查Julia代码运行情况的各种逻辑。
现在,源码库JuliaInterpreter已经在Julia 1.0的基础上扩展了很多新功能,包括:
默认递归:通过编译器运行几乎所有代码,实现断点和捕捉error更加直接。 性能增强:现在通过代码运行step-wise的速度是原始速度的50倍。 新获得了编译“***代码”的能力:现在,连定义包和创造测试套件的代码,也可以用它来编译了。 支持断点:你可以把它当作编译器自身另一种形式的控制流。现在可以支持在特定源代码行或特定方法的入口处设置断点,还能自动识别错误。LoweredCodeUtils
LoweredCodeUtils可以用于建立多种协作方法间的联系,从而起到桥梁的作用。
不过,LoweredCodeUtils是***包中最深入最难懂的,让不少人头大。
举个例子,下面这个看似简单定义,实际上创建了五种方法,分别是一种body method,两种定位参数方法和两种关键字函数法。

CodeTracking
CodeTracking是一个简单、轻量级的查询API,可以用于从Revise中进行检索。
一般的工作场景是LoweredCodeUtils执行分析,Revise掌管随时间推移出现的各种变化,而CodeTracking负责将这些变化通知到其他组件。
三者分工明确,方便好用。
Revise和Rebugger
这个包***的变化莫过于一眼看过去,可以发现编译的界面产生了变化。此外,Rebugger还获得了一些新的能力,比如在REPL中定义处理方法。
从长远来看,它对JuliaInterpreter和LoweredCodeUtils的深入分析可能会实现更多以前无法实现的功能。
相关文章
探索AM09的性能和特点(高效运行与智能控制——AM09的引人注目之处)
摘要:AM09是一款由著名家电品牌Dyson推出的高性能空气处理设备。它以其出色的性能和智能控制而备受关注。本文将对AM09的功能和特点进行详细介绍,以帮助读者更好地了解这款先进的家电产...2025-11-05
.cn域名注册价格是多少?注册.cn域名哪个平台好?新手要知道注册.cn域名的哪些注意事项?说起.cn域名注册,不得说下.cn域名的优势,cn域名诞生以来,以其“中国特色”而被国内企业看好,不少跨国企2025-11-05
看上一个心仪好域名,但是域名价格太高,超出预算,该怎么还价呢?小白在做域名交易时如何与卖家谈判?作为域名小编,也接触过不少资深域名投资人,今天特地整理了域名大佬关于域名交易的谈判技巧,快来看看在域名交2025-11-05
概述Redis作为缓存的高效中间件,在我们日常的开发中被频繁的使用,今天就来说一说Redis的四种模式,分别是「单机版、主从复制、哨兵、以及集群模式」。可能,在一般公司的程序员使用单机版基本都能解决问2025-11-05探索iOS9.3.2正式版的全新特性和改进(提升性能与用户体验,为iPhone带来更多可能性)
摘要:随着iOS9.3.2正式版的发布,iPhone用户迎来了全新的特性和改进。本文将详细介绍这些特性,并探讨它们对用户体验和性能的提升。无论是从系统的稳定性还是从功能的扩展性来看,iO...2025-11-05
在企业建站行业中有过网站seo优化的站长都会比较喜欢的是选择老域名来进行建站,那么怎么申请老域名呢?但是在选择老域名的时候并不是说所有老域名都是好的,我们还要对这个老域名进行分析,因此申请老域名的时候2025-11-05

最新评论