I get an error when I try to debug a Julia file from REPL as follows.
The source file main.jl
# main.jl
using Debugger
function my_add(a::Int, b::Int)
@bp # want to stop here
c = a + b
return c
end
Debug in REPL mode as follows.
> using Debugger
> include("main.jl")
> @run my_add(1, 2)
Hower, Julia does not stop at the break point. The other functions work very well. Do I use @bp in a wrong way?
By the way, Debugger.jl is pretty cool! The output in REPL mode is very clear and beautiful. Congratulations!
This is sort of a bug but will only happen if you have @bp
as the very first thing in the very first function you run (and then you might as well do @enter
).
For example:
julia> function my_add(a::Int, b::Int)
@bp # want to stop here
c = a + b
return c
end
my_add (generic function with 1 method)
julia> f(a, b) = my_add(a, b)
f (generic function with 1 method)
julia> @run f(1, 2)
Hit breakpoint:
In my_add(a, b) at REPL[25]:2
â—Ź2 @bp # want to stop here
>3 c = a + b
4 return c
5 end
About to run: (+)(1, 2)
1|debug>
I’ll fix it though.
1 Like
I am working on a big project and there are a lot of Julia files. Thus, it is convenient to set the break point in this way.
@kristoffer.carlsson Thank you so much for your excellent work on Debugger.jl. It must be the biggest news in Julia community after the release of Julia 1.0. Congratulations!
Why not set a breakpoint on my_add
then (with breakpoint(my_add)
)?
It does not stop at the line of @bp. Waiting for the integration of Juno and the debug function. Thanks for your work!
True, will fix that asap. I’d suggest setting normal breakpoints for now using the GUI.
2 Likes
Is there some documentation for the debugger in Juno? I didn’t realize that graphical breakpoints work
Not really, but [ANN] Juno 0.8 provides a short overview over what you can do. I’ll write more comprehensive docs once I find some time and motivation for that…
1 Like
This actually works fine, provided you qualify @bp
properly and don’t have it as the first line in your function:
So yeah, this isn’t really a priority.