[ANN] Juno 0.8

Thanks, I’ve added using Revise to my startup.jl
The debug example from docs is working.
If I just create a .jl file with a function, then run it, then using Juno.@enter, debugger buttons, etc. - it works just like in the docs.
But trying to set a breakpoint at the next row still throws that error message.

UPD: Problem solved - I had to I includet that file in the console to get working graphical breakpoints.

I have the same problem after periodical Atom updates (Windows), reinstalling uber-juno helps.

I have the same issue. I found this one trick that works. Go to the uber-juno setting page and you should see a “Disable” checkbox, can’t remember the full name.

Uncheck it and then press the button to disable the whole module (note this is not the same as the checkbox), now enable it right away without restarting Julia. Basically, click on the disable/enable button twice in a row while “Disable…” checkbox is unchecked. It should rebuild Juno for Atom.

Yeah, this is an unfortunate bug that I didn’t quite solve yet. Following the instructions in the first post should work fine though:


Hm, that does result in running all code in that file whenever you set your first breakpoint. Doesn’t seem like something I’d expect to happen.
I also wanted to avoid loading Revise when the user tries to set a breakpoint because it’s such a big change in behaviour. Not sure what would be the best way to streamline source breakpoints though…

Edit: I suppose we could automatically Revise.track files if Revise is loaded. This might also make sense for Debugger.jl (or even JuliaInterpreter.jl). What do you think, @tim.holy/@kristoffer.carlsson?

2 Likes

Yes, if possible, just having Revise track a file without running any code in it would be good to do when setting a breakpoint in a file. I’m not really familiar with the internals of Revise so not sure if the methods actually have to be defined for the tracking to work.

Long-term, automatically tracking is a good solution. To avoid derailing this thread, I answered this in a new one: Future development goals with the new Revise.

2 Likes

My Atom Julia 1.1 install is stuck on Atom.jl 0.7.14. I tried to Pkg.free() it, but no change.

Try explicitly adding v0.8 and the deinstalling packages that are incompatible.

To update now I actually fully close Atom and run apm update

I had a question regarding the file links e.g. when an error occurs. It looks as if the links are clickable, because the cursor changes when I hover over one. However, nothing actually happens when I click, is that normal?

Definitely not normal, no. What files are you trying to open when nothing happens (if e.g. Juno can’t find the file nothing happens when you click on the link)?

So after checking again, it works with base julia files, but not with my own. Nothing happens, no errors.

I think I don’t understand the workflow…

I’m trying what I think would be the simplest scenario:
1 - I have a julia file, debugtest.jl, containing

function foo(x = 0)
  for i = 1:10
    x += i^2 # breakpoint here, I want to watch x
  end

  x
end

foo(10)

2 - I open the file in Atom

3 - I set a breakpoint where the comment is as I want to see the value of x at each iteration.

Upon setting the breakpoint I get

no signatures found at /Users/adrian/Downloads/debugtest.jl, 3.
Restarting and `using Revise` and the relevant package may fix this problem

Revise is added to startup.jl and is being used.


(Sorry for the screenshot, as a side note, a super-hyper-mega annoying thing is that the Julia REPL in Atom doesn’t allow selecting and copying, my selection is immediately cleared the second I let go of the mouse)

I checked all the posts, I updated the packages, I removed and reinstalled the Atom packages as instructed here… nothing.

includet("debugtest.jl") before setting the breakpoint.

@kristoffer.carlsson Thank you, now the error is gone. I run includet("debugtest.jl") in the Juno REPL. I presume this is about configuring the entry point into the program for the debugger.

To quote Nemo, “now what”? Upon pressing the Debug: Next expression I get

You can start debugging by calling `@enter f(args...)`.

When I try that, I get


:hear_no_evil:

Ideally, I’d like the debugger to kick in every time I use Run block or Run file in Juno, now the the breakpoint is set…

Use Juno.@enter (which is what the first post says).

Do take a look at our docs.

In short: You need Juno.@enter or Juno.@run. I’ll add a checkbox in the Debugger pane to make all code run with Juno.@run.

1 Like

It works!!!

happy my heart GIF

3 Likes

Thank you, I did! However it’s been difficult navigating all the updates in the last few days, as we were given multiple options and workflows with little details (with Juno, with Rebugger, etc). So the docs pretty much lost me at Open a console and type Juno.@enter split("Hello, world", isspace) as I expected the debugging to work with run block or run file or the debug toolbar and this sounded like a non-IDE workflow.

Now I get it:
1 - one needs includet to set the entry point for the debugger
2 - one needs to kickstart the debugging by invoking the “main” function, again in the Juno REPL, with Juno.@enter or Juno.@run

2 Likes

Try uninstalling and reinstalling the Julia-client package. Mine breaks at every update, so I just un/reinstall to update.

1 Like