# Seamless Julia code debug

**URL:** <https://discourse.julialang.org/t/seamless-julia-code-debug/4379>\
**Category:** General Usage\
**Tags:** debugging\
**Created:** [June 20, 2017, 8:42pm UTC](https://discourse.julialang.org/t/seamless-julia-code-debug/4379 "2017-06-20T20:42:51Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![dynamicsg](https://avatars.discourse-cdn.com/v4/letter/d/7feea3/32.png) [@dynamicsg](https://discourse.julialang.org/u/dynamicsg)\
**Post date:** [June 20, 2017, 8:42pm UTC](https://discourse.julialang.org/t/seamless-julia-code-debug/4379/1 "2017-06-20T20:42:51Z")

</div>

Hello All

I am trying to analyze Julia code, and I was interested to know if there is a seamless method to debug Julia development code. Using the gdb, I am able to add breakpoints and visualize the Julia “C” files, but the debugging process naturally terminates as soon as the control steps into a “.jl” file. Is there some nice hack that facilitates debugging Julia code.

PS: I am new to Julia development, so pardon me if the question seems naive.

---

<div class="post-metadata">

**Author:** ![ihnorton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ihnorton/32/26_2.png) [@ihnorton](https://discourse.julialang.org/u/ihnorton)\
**Post date:** [June 20, 2017, 8:57pm UTC](https://discourse.julialang.org/t/seamless-julia-code-debug/4379/2 "2017-06-20T20:57:17Z")

</div>

I’m not aware of anything available to step in to Julia code from LLDB or GDB right now.  
Julia uses the GDB JIT registrar protocol if available, so you should at least get quasi-mangled (usually some numbers attached) Julia function names in backtraces. On Mac, this works well with 0.6 and recent LLDB versions.

By the way, be sure to read the devdocs if you haven’t, for some related suggestions:

[https://docs.julialang.org/en/stable/#Developer-Documentation-1](https://docs.julialang.org/en/stable/#Developer-Documentation-1)

---

<div class="post-metadata">

**Author:** ![mbeltagy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbeltagy/32/130_2.png) [@mbeltagy](https://discourse.julialang.org/u/mbeltagy)\
**Post date:** [June 23, 2017, 7:46pm UTC](https://discourse.julialang.org/t/seamless-julia-code-debug/4379/3 "2017-06-23T19:46:17Z")

</div>

I have used [Gallium] ([https://github.com/Keno/Gallium.jl](https://github.com/Keno/Gallium.jl)) in the past. It works beautifully. Unfortunately, it does not support 0.6 yet. Documentation is limited, but you get an intro via this [video](https://youtu.be/e6-hcOHO0tc).

---

<div class="post-metadata">

**Author:** ![dynamicsg](https://avatars.discourse-cdn.com/v4/letter/d/7feea3/32.png) [@dynamicsg](https://discourse.julialang.org/u/dynamicsg)\
**Post date:** [June 26, 2017, 8:36pm UTC](https://discourse.julialang.org/t/seamless-julia-code-debug/4379/4 "2017-06-26T20:36:20Z")

</div>

Thanks! Gallium helped a bit. Is there a way to determine which function is called when Gallium returns “intrinsic function #”.
