首頁  >  文章  >  後端開發  >  Protogen Goroutine 堆疊超過

Protogen Goroutine 堆疊超過

王林
王林轉載
2024-02-09 09:48:09822瀏覽

Protogen Goroutine 堆栈超过

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中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除