# Julia-debug

**URL:** <https://discourse.julialang.org/t/julia-debug/3288>\
**Category:** New to Julia\
**Created:** [April 19, 2017, 8:03pm UTC](https://discourse.julialang.org/t/julia-debug/3288 "2017-04-19T20:03:06Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nectarineimp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nectarineimp/32/883_2.png) [@Nectarineimp](https://discourse.julialang.org/u/Nectarineimp)\
**Post date:** [April 19, 2017, 8:03pm UTC](https://discourse.julialang.org/t/julia-debug/3288/1 "2017-04-19T20:03:07Z")

</div>

What does the binary julia-debug do that julia does not? I assume it is built with debugging options on. Is there a way it can benefit someone programming in Julia or is it mainly for those who are developing for the Julia language itself?

---

<div class="post-metadata">

**Author:** ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)\
**Post date:** [April 19, 2017, 9:04pm UTC](https://discourse.julialang.org/t/julia-debug/3288/2 "2017-04-19T21:04:49Z")

</div>

just for developing Julia itself. It allows to debug the C/C++ part of the Julia source code.

---

<div class="post-metadata">

**Author:** ![Nectarineimp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nectarineimp/32/883_2.png) [@Nectarineimp](https://discourse.julialang.org/u/Nectarineimp)\
**Post date:** [April 19, 2017, 9:25pm UTC](https://discourse.julialang.org/t/julia-debug/3288/3 "2017-04-19T21:25:32Z")

</div>

OK great. I really appreciate the quick answer!

---

<div class="post-metadata">

**Author:** ![yuyichao](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yuyichao/32/20_2.png) [@yuyichao](https://discourse.julialang.org/u/yuyichao)\
**Post date:** [April 19, 2017, 9:32pm UTC](https://discourse.julialang.org/t/julia-debug/3288/4 "2017-04-19T21:32:45Z")

</div>

It also allows better debugging of non-C/C++ part but shouldn’t be needed for most package debugging.

---

<div class="post-metadata">

**Author:** ![Elrod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/elrod/32/22461_2.png) [@Elrod](https://discourse.julialang.org/u/Elrod)\
**Post date:** [September 11, 2018, 8:25am UTC](https://discourse.julialang.org/t/julia-debug/3288/5 "2018-09-11T08:25:39Z")

</div>

What does it mean if I get errors like this in debug mode, but not normally?

```julia
julia> using SIMDArrays
[Info: Precompiling SIMDArrays [604d08c6-8d09-11e8-1189-87850a518ab4]
julia-debug: /home/chriselrod/Documents/languages/jdev/src/gf.c:1188: check_ambiguous_visitor: Assertion `!jl_subtype((jl_value_t*)sig, (jl_value_t*)type)' failed.

signal (6): Aborted

```

I was hoping this would make it easier to track down segfaults.

---

<div class="post-metadata">

**Author:** ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)\
**Post date:** [September 11, 2018, 12:04pm UTC](https://discourse.julialang.org/t/julia-debug/3288/6 "2018-09-11T12:04:27Z")

</div>

It does mean that you should write a bug report on this in the julia github repo 😉

Assertions are usually stripped in the release version (not sure if julia bypasses this) and thus its clear that the assertion will only kick in in debug mode. But since assertions should never happen, you might have hit a a real bug.
