diff --git a/pkg/proc/proc.go b/pkg/proc/proc.go index f3eb5b4e..959370e1 100644 --- a/pkg/proc/proc.go +++ b/pkg/proc/proc.go @@ -80,12 +80,8 @@ func Next(dbp Process) (err error) { } if err = next(dbp, false); err != nil { - switch err.(type) { - case ThreadBlockedError, NoReturnAddr: // Noop - default: - dbp.ClearInternalBreakpoints() - return - } + dbp.ClearInternalBreakpoints() + return } return Continue(dbp) diff --git a/pkg/proc/proc_test.go b/pkg/proc/proc_test.go index 66dcf253..24d55a4d 100644 --- a/pkg/proc/proc_test.go +++ b/pkg/proc/proc_test.go @@ -2969,6 +2969,9 @@ func TestIssue893(t *testing.T) { if _, ok := err.(*frame.NoFDEForPCError); ok { return } + if _, ok := err.(proc.ThreadBlockedError); ok { + return + } assertNoError(err, t, "Next") }) } diff --git a/pkg/proc/threads.go b/pkg/proc/threads.go index c18b6f8d..307f8ec7 100644 --- a/pkg/proc/threads.go +++ b/pkg/proc/threads.go @@ -4,7 +4,6 @@ import ( "debug/gosym" "encoding/binary" "errors" - "fmt" "go/ast" "go/token" "path/filepath" @@ -129,12 +128,6 @@ func next(dbp Process, stepInto bool) error { return err } - for i := range text { - if text[i].Inst == nil { - fmt.Printf("error at instruction %d\n", i) - } - } - sameGCond := SameGoroutineCondition(selg) retFrameCond := andFrameoffCondition(sameGCond, retframe.CFA-int64(retframe.StackHi)) sameFrameCond := andFrameoffCondition(sameGCond, topframe.CFA-int64(topframe.StackHi))