Xinyu Liu
Xinyu Liu
I use plugin for GoLand, and do not have step-instruction (si) command. 
I tried this, add three `StepInstruction` after `Step` when next three instructions is `ADRP` `ADD` `JMP`. It seems ok. `pkg/proc/target_exec.go` ```golang err = grp.Continue() if err != nil { return...
I check if `topframe.Current.Fn == nil`. Or I can add that code after `s` command failed. ```golang if err = next(grp.Selected, true, false); err != nil { selg := grp.Selected.SelectedGoroutine()...
Make second `s` command ok. ``` (dlv) s Stopped at: 0x11c0e72b0 => 1: no source available (dlv) s // !!! this !!! Stopped at: 0x11c0e72b0 => 1: no source available...
> This is the wrong approach, it will break if a breakpoint is encountered during `step`, or a manual stop, or the process exit, or if the three instructions happen...
@aarzilli Alternatively, I can modify the `setStepIntoBreakpoint` function by adding the following code: ```go fn := instr.DestLoc.Fn if fn == nil && dbp.BinInfo().Arch.Name == "arm64" { if f := findARM64OutOfRangeCallTarget(dbp,...
> That's much better, but the use of reflection is problematic (either arm64asm gets changed or we do an unsafe cast and add a size check on the structs) and...