数据科学家爱用的程序语言Julia,释出了全新功能完整的侦错器(Debugger),可以让开发者轻松地侦错和内省(Introspect)程序代码,可以深入函式手动走访程序代码,并检查状态,也能在不需要重新启动的状况下,以互动的方式更新和替换现有程序代码,或是设置断点和陷阱错误,帮助开发者捕捉故障发生的问题。

Juno为直译器提供了丰富的用户接口,让朕亨公益开发者可以设定断点,并直接在源代码中逐步执行。侦错器REPL能够在本地上下文执行任意程序代码,开发者可以在Workspace中检查局部变量,使用宏Juno.@run开始直译开发者的程序代码,或是Juno.@enter可以从第一行开始逐步进行。
当开发者使用Atom之外的编辑器,或是透过控制台界面在远程对话中工作,可以使用REPL进行侦错,REPL有两种界面,其一是侦错器提供类似gdb的逐步、下一步和继续接口,另一种Rebugger则是提供IDE形式的控制台接口。侦错器具有一些其他接口都没有的功能,像是调控逐步执行的精细度,以及执行生成函式的生成子等。
而Julia这些新的侦错功能都来自新版的JuliaInterpreter,官方提到,JuliaInterpreter是整个堆栈的关键,其包含评估和检查Julia程序代码的逻辑,也能用于逐步进行程序代码评估以及断点的实作。JuliaInterpreter是从ASTInterpreter2套件改进而来,顺应Julia 1.0的需要,加入了许多改变,在效能上也获得了大幅度的改进,约是原本的50倍速度。
JuliaInterpreter改进新增对断点的支持,官方提到,严格说来虽然不是直译器功能,但却是建构侦错器必要的功能,并且也可以被视作直译器控制流的一种形式,这些断点可以用断点函式和宏设置,或在Juno、Rebugger与侦错器中操作,或是甚至在程序代码中以宏设置。
官方提到,虽然直译器的速度加快了,但是比起编译的程序代码执行速度,仍然差距了几个量级,他们会在几个月内缩小这个差距,但是终究直译程序代码仍然比编译过的程序代码慢。