From 6a82ebb25dcbbeaf3bde1a58f9af1bfdd20588cb Mon Sep 17 00:00:00 2001 From: Derek Parker Date: Fri, 11 Jul 2014 16:18:07 -0500 Subject: [PATCH] Implement frontend next command --- command/command.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/command/command.go b/command/command.go index a2408dac..aff6b441 100644 --- a/command/command.go +++ b/command/command.go @@ -24,6 +24,7 @@ func DebugCommands() *Commands { cmds := map[string]cmdfunc{ "exit": exitFunc, "continue": cont, + "next": next, "break": breakpoint, "step": step, "clear": clear, @@ -94,6 +95,23 @@ func step(p *proctl.DebuggedProcess, args ...string) error { return nil } +func next(p *proctl.DebuggedProcess, args ...string) error { + err := p.Next() + if err != nil { + return err + } + + regs, err := p.Registers() + if err != nil { + return err + } + + f, l, _ := p.GoSymTable.PCToLine(regs.PC()) + fmt.Printf("Stopped at: %s:%d\n", f, l) + + return nil +} + func clear(p *proctl.DebuggedProcess, args ...string) error { fname := args[0] fn := p.GoSymTable.LookupFunc(fname)