Xinyu Liu

Results 7 comments of Xinyu Liu

I use plugin for GoLand, and do not have step-instruction (si) command. ![image](https://github.com/go-delve/delve/assets/22233747/8a3343fb-ad71-44a7-9479-d794ac6403a6)

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...