dump
This commit is contained in:
@@ -191,7 +191,11 @@ void LLDBBackend::handle_state_change(lldb::StateType state)
|
|||||||
auto sel_thread = _process->GetSelectedThread();
|
auto sel_thread = _process->GetSelectedThread();
|
||||||
auto change_reason = StateChangeReason::unknown;
|
auto change_reason = StateChangeReason::unknown;
|
||||||
auto extra = 0;
|
auto extra = 0;
|
||||||
switch (sel_thread.GetStopReason())
|
auto stop_reason = sel_thread.GetStopReason();
|
||||||
|
// step over seems to cause the reason to be eStopReasonPlanComplete, when pausing the stop reason seems to be eStopReasonSignal
|
||||||
|
spdlog::trace("Thread stopped because of reason {}",
|
||||||
|
static_cast<int>(stop_reason));
|
||||||
|
switch (stop_reason)
|
||||||
{
|
{
|
||||||
case eStopReasonBreakpoint:
|
case eStopReasonBreakpoint:
|
||||||
{
|
{
|
||||||
|
|||||||
13
todos.txt
13
todos.txt
@@ -4,3 +4,16 @@
|
|||||||
- visualization for branches (draw arror if branch is taken (or in both cases?))
|
- visualization for branches (draw arror if branch is taken (or in both cases?))
|
||||||
- allow (partial) path override for symbol source paths
|
- allow (partial) path override for symbol source paths
|
||||||
- check if classes with base classes work
|
- check if classes with base classes work
|
||||||
|
- next item: array variable specifier
|
||||||
|
- search/show/open all files in the debug symbols of the executable
|
||||||
|
- allow setting breakpoint by name + manually set them with a textbox
|
||||||
|
- make stop/restart buttons work
|
||||||
|
- make it work if you open a file again that it doesn't break
|
||||||
|
- add a context menu option to display the type of a variable in the watch window
|
||||||
|
- auto-switch to disassembly if there is no source (auto-switch to source if there is one for the first time?)
|
||||||
|
- allow for copying + changing the display type for a variable in the watch window (esp. important for locals)
|
||||||
|
- when stopping, still keep the binary around (so like a workspace)
|
||||||
|
- add smth that detects if the binary changes and adds a button to reload/restart it
|
||||||
|
- automatically detect cycles in pointer and stop the UI recursion if so
|
||||||
|
|
||||||
|
old imgui commit: a02315e1c4c80f94008779bfa0cc552542cb2f08
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
mystruct.ptr, mystruct.arrsize
|
||||||
|
|
||||||
|
mystruct.ptr[$1].field.ptr[$2], mystruct.arrsize, mystruct.ptr[$1].field.arrsize
|
||||||
|
|
||||||
|
mystruct.ptr.field
|
||||||
|
|
||||||
|
mystruct.ptr[.arrsize].field.ptr[.arrsize]
|
||||||
|
|
||||||
|
cast<MyType*>(mystruct.ptr).field, dbl
|
||||||
|
|
||||||
|
%rax
|
||||||
|
%rbx
|
||||||
|
|
||||||
|
(int[mystruct.arraysize]*)(mystruct.ptr)
|
||||||
|
|
||||||
|
builtin functions? (e.g. casts)
|
||||||
|
|
||||||
|
|
||||||
|
<watch desc> = <data desc>, <format spec>
|
||||||
|
|
||||||
|
<data desc> = <data desc>.<data desc> | <array desc> | <ident> | <reg>
|
||||||
|
|
||||||
|
<array desc> = <ident>\[<arrsize spec>|<arrpath>\]
|
||||||
|
|
||||||
|
<arrsize spec> = [<arrpath>]..<arrpath>
|
||||||
|
|
||||||
|
<arrpath> = (\^*<ident path>) | <num literal> | #<num literal>
|
||||||
|
|
||||||
|
<ident path> = <ident> | <ident>.<ident path>
|
||||||
|
|
||||||
|
<reg> = $<ident>
|
||||||
|
|
||||||
|
$ for registers
|
||||||
|
# for special indices
|
||||||
|
% for various builtins
|
||||||
|
|
||||||
|
|
||||||
|
<format spec> = <type>[<num literal>[x<num literal>]]
|
||||||
|
|
||||||
|
<type> = <base type>
|
||||||
|
|
||||||
|
<base type> = i8 | i16 | i32 | i64 | i128 | u8 | u16 | u32 | u64 | u128 | f32 | f64 | flt | dbl | str | cstr
|
||||||
|
|
||||||
|
this is still missing the syntax to search in upper frames for variables
|
||||||
Reference in New Issue
Block a user