cgo crash 捕获 go 调用栈、 c 调用栈

鱼与熊掌无法兼得

暂时没有找到调用栈中,同时显示 go 、 c 相关函数

但是,发现 go 程序因 cgo 抛异常 crash 时,可以分别捕获各自的函数调用栈

go 调用栈

go 程序 crash 时,会向 stderr 打印所有 go 协程调用栈信息

因此只要捕获这些信息到文件即可

然后用关键字cgocall定位日志

c 调用栈

可以用 gdb 直接从 coredump 文件中获取

例子

本人简单写了一个测试例子:

github: https://github.com/fananchong/test_cgo_coredump

猜你喜欢

转载自blog.csdn.net/u013272009/article/details/106226195