因此coredump就像是程序出错崩溃后的“第一现场”,是用来排查错误的主要资源。不过我很少在golang里调试coredump文件,通常来说可靠的日志和panic时打印的错误信息加堆栈就足够定位错误了。
然而有时光靠这些信息还不够,不得不去求助老朋友coredump了。
下面我们主要针对这段代码调试,这只是个事例,所以你一眼看出问题在哪了也不要介意:
package main |
|
import ( |
|
"fmt" |
|
"math/rand" |
|
) |
|
func main() {
|
|
arr := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} |
|
for {
|
|
index := rand.Intn(11) |
|
fmt.Println(arr[index]) |
|
} |
|