1

(1) 有没有办法在变量更改其值时停止程序的执行?

当然,我知道我们可以在某些行设置断点,但我只想设置一个变量,当它发生变化时,停止程序进行调试。

(2) 我还想查看程序的执行流程(通过登录文件/在屏幕上打印)。有什么方法可以运行我的程序并看到相同的内容(无需逐行执行)?

请考虑以下示例(https://play.golang.org/p/vOvW4GAM0j

package main

import (
    "fmt"
    "math/rand"
    "time"
)

func main() {

    rand.Seed(time.Now().Unix())
    r := rand.Intn(100)
    var i int

    if r%2 == 0 {
        i = 2
    } else {
        i = 1
    }

    fmt.Println(i)
}

现在我想在 i 的值变为非零值时中断。它可能来自第 16 行或第 18 行。

(1)有什么方法可以设置(条件)断点,以便在 i 的值发生变化时中断,或者我必须在两行(16 和 18)上放置断点?

(2)另外,我想知道程序是如何执行的......像第13行然后第15行然后第17行,第18行......(假设奇数随机数)

谢谢!

4

1 回答 1

0

你应该试试Gogland IDE

它有一个功能齐全的GO 调试器,您可以设置手表。

调试器

它目前处于测试阶段,因此您可以免费使用它。

于 2017-07-20T17:44:06.573 回答