(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... (при условии нечетного случайного числа)
Спасибо!