登录
首页 >  Golang >  Go问答

Protogen Goroutine 堆栈超载

来源:stackoverflow

时间:2024-02-08 19:54:44 364浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《Protogen Goroutine 堆栈超载》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

最近我在 golang 中遇到了代码生成问题。我有一个巨大的原始文件,现在需要使用外部包向大多数消息添加日志记录。但是,如果我为太多字段添加日志记录,则会出现恐慌,并表示 goroutine 堆栈超出。有没有办法按块生成代码,或者仅增加生成的 goroutine 最大缓存大小?

我尝试 debug.SetMaxStack 并使用 go 代码运行生成命令,但没有任何改变,这对我来说似乎不是一个好的解决方案


正确答案


事实证明,问题是,正如 @BurakSerdar 在评论递归打印循环中所说。 所以如果你有类似的东西:

message human {
  string name = 1;
  human child = 2;
  human parent = 3;
}

你不应该这样做:

message human {
  string name = 1;
  human child = 2 [(logger.field) = true];
  human parent = 3;
}

我相信您想要添加到字段的其他自定义内容也是如此,如果您有消息,包含具有相同消息类型的字段

以上就是《Protogen Goroutine 堆栈超载》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>