php小編魚仔今天為大家介紹一個與Protogen相關的問題:Goroutine堆疊超過的情況。使用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 堆疊超過的詳細內容。更多資訊請關注PHP中文網其他相關文章!