当变量值发生变化时中断

时间:2017-07-20 09:58:46

标签: debugging go delve

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

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

(2)我还想看一个程序的执行流程(通过登录文件/在屏幕上打印)。有没有什么方法可以运行我的程序并看到相同的(没有单步执行每一行)?

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

if(!ctype_digit($string))
    echo 'The string contains some non-digit'

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

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

(2)另外,我想知道程序是如何执行的......比如line13然后是line15然后是line17,line18 ......(假设奇数随机数)

谢谢!

1 个答案:

答案 0 :(得分:0)

您应该尝试Gogland IDE

它有一个功能齐全的GO Debugger你可以设置手表。

Debugger

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