Debugging 如何在Juno中启用调试消息(Julia编辑器)

Debugging 如何在Juno中启用调试消息(Julia编辑器),debugging,julia,juno-ide,Debugging,Julia,Juno Ide,关于如何从@debug宏启用调试消息,即在启动JULIA之前在命令行上运行export JULIA\u debug=mymodule或export JULIA\u debug=all,这些都非常清楚。但是,有没有一种简单的方法可以从Juno内部,或者更一般地说,在Julia运行时启用调试 我试图摆弄Base.coreloging.disable_logging,Base.CoreLogging.BelowMinLevel和Base.CoreLogging.\u min\u enabled_lev

关于如何从
@debug
宏启用调试消息,即在启动JULIA之前在命令行上运行
export JULIA\u debug=mymodule
export JULIA\u debug=all
,这些都非常清楚。但是,有没有一种简单的方法可以从Juno内部,或者更一般地说,在Julia运行时启用调试

我试图摆弄
Base.coreloging.disable_logging
Base.CoreLogging.BelowMinLevel
Base.CoreLogging.\u min\u enabled_level
,但没有成功

我知道我可以在Juno设置中为Julia设置环境变量。但这有点烦人,因为它需要重新启动朱莉娅。我确实希望在交互工作时具有以下工作流:

  • 在REPL中输入一行
  • 从你自己的代码中偶然发现一个你没有看到的bug
  • 启用调试
  • 再跑一遍那条线
  • 请参阅调试日志
  • 修正你的代码
  • 再次禁用调试日志记录

  • 我认为这比在任何地方注释和取消注释的常规做法要好。

    在任何地方启用
    @debug
    (这只会影响运行以下表达式后加载的代码):


    在文件
    foo.jl
    中启用
    @debug
    (根据文档,尚未对此进行测试):

    禁用
    @debug

    ENV["JULIA_DEBUG"] = ""
    

    重要注意事项:加载代码时会计算宏。因此,上述技巧仅对更改
    JULIA_DEBUG
    的值后加载的代码有效。因此,在将其设置为例如
    all
    之后,不会有任何更改。重新加载要
    @debug

    的模块,以便在脚本中启用@debug消息日志记录:

    # ... script ...
    
    ENV["JULIA_DEBUG"]="all"
    
    # debug messages are now enabled.
    # ... Rest of the script... 
    
    添加
    ENV[“JULIA_DEBUG”]=“all”
    将在Juno中运行脚本或从终端使用
    JULIA
    运行脚本时启用@DEBUG消息

    ENV["JULIA_DEBUG"] = ""
    
    # ... script ...
    
    ENV["JULIA_DEBUG"]="all"
    
    # debug messages are now enabled.
    # ... Rest of the script...