Go   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了golang log.Printf崩溃大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在运行2或3秒后,我的mac上的代码崩溃,但是在centos 7上它没关系,而且,我正在运行1.6.3.

问题:

>是什么导致了这种崩溃?
>如何避免它? (没有恢复)
>后续堆栈的参数意味着什么?

log.Printf(0x1068d8,0x6,0x0,0x0)

签名是:

Print(v ...interface{})

崩溃的代码

package main
import (
    "log"
)

func main() {
    for {
       log.Printf("Hello")
    }
}

它将在10秒内崩溃,并打印:

2017/09/02 21:50:01 Hello
2017/09/02 21:50:01 Hello
2017/09/02 21:50:01 Hello
2017/09/02 21:50:01 Hello
Fatal error: unexpected signal during runtime execution
[signal 0xb code=0x1 addr=0x1777d0d1d11 pc=0x92f60]

goroutIne 1 [running]:
runtime.throw(0x12c000,0x2a)
    /usr/local/Cellar/go/1.6.3/libexec/src/runtime/panic.go:547 +0x90 fp=0xc820035da0 sp=0xc820035d88
runtime.sigpanic()
    /usr/local/Cellar/go/1.6.3/libexec/src/runtime/sigpanic_unix.go:12 +0x5a fp=0xc820035df0 sp=0xc820035da0
sync.(*Pool).Get(0x1991e0,0x0)
    /usr/local/Cellar/go/1.6.3/libexec/src/sync/pool.go:102 +0x40 fp=0xc820035e40 sp=0xc820035df0
fmt.newPrinter(0xed13cae09)
    /usr/local/Cellar/go/1.6.3/libexec/src/fmt/print.go:133 +0x27 fp=0xc820035e80 sp=0xc820035e40
fmt.Sprintf(0x1068d8,0x0)
    /usr/local/Cellar/go/1.6.3/libexec/src/fmt/print.go:202 +0x2b fp=0xc820035ed0 sp=0xc820035e80
log.Printf(0x1068d8,0x0)
    /usr/local/Cellar/go/1.6.3/libexec/src/log/log.go:289 +0x49 fp=0xc820035f20 sp=0xc820035ed0
main.main()
    /Users/haoy/video_projects/rtc-xswitch2/app/recorder/src/test.go:11 +0x3d fp=0xc820035f50 sp=0xc820035f20
runtime.main()
    /usr/local/Cellar/go/1.6.3/libexec/src/runtime/proc.go:188 +0x2b0 fp=0xc820035fa0 sp=0xc820035f50
runtime.goexit()
    /usr/local/Cellar/go/1.6.3/libexec/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc820035fa8 sp=0xc820035fa0
exit status 2

解决方法

大佬总结

以上是大佬教程为你收集整理的golang log.Printf崩溃全部内容,希望文章能够帮你解决golang log.Printf崩溃所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。