В C вы можете использовать функцию write()
из библиотеки unistd.h
.
write()
быстрее, чем printf()
, и позволяет записывать в стандартный вывод (или файл) до того, как Segfault нарушит ваш код.
При отладке я хочу записать в стандартный вывод, прежде чем мой код Go паникует. В общем, как мне это сделать?
У меня есть следующий код (чтобы найти самое короткое слово в цепочке слов), который паникует, и я хочу выделить где, вставив методы записи.
func FindShort(s string) int {
i := 0
j := 0
min := math.MaxInt32
for true {
for s[i] == ' ' {
i++
j++
}
for s[j] != ' ' && j < len(s) {
j++
}
if j > i && (j - i) < min {
min = j - i
}
i = j
if j == len(s) {
break
}
}
return min
}