【问题标题】:Why does Juno debugger try to search files in some random directory?为什么 Juno 调试器会尝试在某个随机目录中搜索文件?
【发布时间】:2020-08-11 23:51:01
【问题描述】:

我想在 Juno 中使用调试器。我有多个文件,比如 file1file2file3,它们都存储在一个目录中,比如 directory1。但是,当我尝试运行调试器时,它声称

ERROR: could not open file /directory2/file3.jl

为什么找不到我的文件?它运行得很好,没有调试器。我是否需要更改一些 PATH 变量(REPL?)或其他东西来告诉它在哪里查找文件?

【问题讨论】:

    标签: debugging directory path julia juno-ide


    【解决方案1】:

    你是includeing 那些文件吗?如果是这样,那就是 Juno 调试器中的 bug

    在解决此问题之前,您可以

    • 在包含语句中使用绝对路径,例如include("/foo/bar/baz.jl") 而不是 include("baz.jl")
    • 或直接进入函数调用(使用例如Juno.@enter start() 或“运行块”命令)。

    【讨论】:

    • 在我的主文件中,我包含了其他文件,所以这应该没有问题。你能精确地使用不使用 Juno 命令行的方法吗?我会看看这是否有效(因为我很确定我一开始没有使用你的方法,这就是它不起作用的原因)。
    • 您这边的解决方法是在您的 include 语句中使用绝对路径,例如include("/foo/bar/baz.jl") 而不是 include("baz.jl")
    • 好的,我没有测试这个解决方案,但我会假设这是正确的。我将编辑您的答案以提及绝对路径包括,并提及我自己关于 Juno 命令行的答案。总而言之,在您接受我的修改后,我可以接受您的回答。
    • 哦,我无法编辑您的答案,因为“建议的编辑队列已满”。请自行编辑另外两个备注。
    【解决方案2】:

    我认为我的错误来自于我刚刚打开调试器面板,而没有在 Juno 命令行中输入正确的命令:

    Juno.@enter start()
    

    其中 start() 是启动我的程序的函数。现在至少一切都编译并运行了。

    【讨论】:

    • 仅在调试器中运行文件是使用调试器的有效方式,并且应该可以工作(请参阅我的回答,了解为什么它不适用于您的情况)。
    猜你喜欢
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多