JuliaDebug / Gallium.jl

The Julia debugger
Other
174 stars 23 forks source link

breakpoint_on_error() throws error #162

Open essenciary opened 7 years ago

essenciary commented 7 years ago

I'm expecting that breakpoint_on_error() would switch to a debug mode REPL. Instead, it throws an error.

   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.5.0 (2016-09-19 18:14 UTC)
 _/ |\__'_|_|_|\__'_|  |
|__/                   |  x86_64-apple-darwin15.6.0

julia> using Gallium

julia> Gallium.breakpoint_on_error()
Gallium.Hooking.Hook(Ptr{Void} @0x000000010c2d8ba0,UInt8[0x55,0x48,0x89,0xe5,0x41,0x56,0x53,0x49,0x89,0xfe,0xe8,0xe1,0xdc,0x01,0x00],Gallium.breakpoint_on_error_hit)

julia> foofer() = error("moo")
foofer (generic function with 1 method)

julia> foofer()
------ KeyError ------------------------ Stacktrace (most recent call last)

 [1] — callback(::Ptr{Void}) at Hooking.jl:326

 [2] — _callback(::Ptr{Void}) at Hooking.jl:289

 [3] — breakpoint_on_error_hit(::Gallium.Hooking.Hook, ::Gallium.X86_64.ExtendedRegs) at Gallium.jl:938

 [4] — unhook(::Ptr{Void}) at Hooking.jl:476

 [5] — pop!(::Dict{Ptr{Void},Gallium.Hooking.Hook}, ::Ptr{Void}) at dict.jl:717

KeyError: key Ptr{Void} @0x000000010c2d8ba0 not found

Thanks

Keno commented 7 years ago

Should be fixed on master. I just need to tag a new version

AStupidBear commented 7 years ago

@Keno Is this fixed on master version?

Keno commented 7 years ago

It's fixed on master. I may have not tagged a release since.