• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

panic:runtimeerror:cgoargumenthasGopointertoGopointer

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

今天在公司用 golang 写了一个工具程序,用到了代码仓库中的一个读取 k-v 数据库的接口,运行,出现panic:

panic: runtime error: cgo argument has Go pointer to Go pointer
......

这个接口线上模块也在用,应该是没问题的;由于对golang还没有掌握到炉火纯青的地步,一直不明白问题原因,怀疑是环境问题。
询问多人,终于大神回答说,需要添加如下环境变量来支持 cgo:

export GODEBUG=cgocheck=0

一试,果然行了!

记录一下,点滴积累。


2020.11.25 Wed 21:27


2020.12.17 Thu 23:06

补充

《Go 语言高级编程》2.7 节 《CGO内存模型》 对此有解释。

可以通过设置环境变量GODEBUG=cgocheck=0来关闭指针检查行为。
cgocheck默认的值是1,对应一个简化版本的检测;
cgocheck=2:完整的检测功能。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
6.Go语言数据类型:字典与布尔类型发布时间:2022-07-10
下一篇:
go1.14上怎么下载第三方包发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap