microsoft / MIEngine

The Visual Studio MI Debug Engine ("MIEngine") provides an open-source Visual Studio Debugger extension that works with MI-enabled debuggers such as gdb and lldb.
MIT License
817 stars 217 forks source link

No callstack reported when -stack-list-arguments fails #464

Open paulmaybee opened 8 years ago

paulmaybee commented 8 years ago

-stack-list-arguments is invoked when enumerating stack frames. When the call fails an exception is thrown causing the frame enumeration to fail, and thus no stack frames are reported. This situation should be handled and the stack shown without the argument values.

1: (19431) <-1033-stack-list-arguments 2 0 23 1: (19452) ->1033-stack-list-arguments 2 0 23 1: (19452) -> 1: (19452) ->1033^error,msg="Unhandled dwarf expression opcode 0xf3"

workaround for Visual Studio: uncheck "Show Parameters Names" and "Show Parameter Values" in the callstack window.

paulmaybee commented 8 years ago

In Visual Studio this bug surfaces to the user with the message: "No compatible code running" when in break mode.

jacdavis commented 8 years ago

The fact that gdb encountered a bad opcode in the unwind program "Unhandled dwarf expression opcode 0xf3" makes be believe this is either: a compiler bug (emitting bad unwind program), a gdb bug (not handling a valid unwind opcode) or a mismatch between the compiler you're using and gdb.