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

Sam*_*yer 4 debugging julia juno-ide

Julia 文档非常清楚如何启用@debug宏的调试消息,即在启动 Julia 之前运行export JULIA_DEBUG=mymoduleexport JULIA_DEBUG=all在命令行上。但是,是否有一种简单的方法可以在 Juno 内部(或者更一般地说,在 Julia 运行时)启用调试?

我尝试摆弄Base.CoreLogging.disable_logging,Base.CoreLogging.BelowMinLevelBase.CoreLogging._min_enabled_level没有成功。

我知道我可以在 Juno 设置中为 Julia 设置环境变量。但这使用起来有点烦人,因为它需要重新启动 Julia。我真的希望在交互工作时具有以下工作流程:

  1. 在 REPL 中输入一行
  2. 偶然发现您自己的代码中的一个您没有预见到的错误。
  3. 启用调试。
  4. 再次运行该行。
  5. 查看调试日志。
  6. 修复你的代码。
  7. 再次禁用调试日志记录。

我认为这比到处评论和取消评论的常见做法更好printf

Sam*_*yer 5

随处启用@debug(这只会影响运行以下表达式后加载的代码):

julia>ENV["JULIA_DEBUG"] = "all"
Run Code Online (Sandbox Code Playgroud)

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

julia>ENV["JULIA_DEBUG"] = "foo"
Run Code Online (Sandbox Code Playgroud)

禁用@debug

ENV["JULIA_DEBUG"] = ""
Run Code Online (Sandbox Code Playgroud)

重要提示:加载代码时会评估宏。因此,上述技巧仅对更改 的值加载的代码有效JULIA_DEBUG。所以将其设置为eg后all,什么都不会改变。重新加载您想要的模块@debug