魚與熊掌無法兼得
暫時沒有找到調用棧中,同時顯示 go 、 c 相關函數
但是,發現 go 程序因 cgo 拋異常 crash 時,可以分別捕獲各自的函數調用棧
go 調用棧
go 程序 crash 時,會向 stderr 打印所有 go 協程調用棧信息
因此只要捕獲這些信息到文件即可
然後用關鍵字cgocall
定位日誌
c 調用棧
可以用 gdb 直接從 coredump 文件中獲取
例子
本人簡單寫了一個測試例子:
暫時沒有找到調用棧中,同時顯示 go 、 c 相關函數
但是,發現 go 程序因 cgo 拋異常 crash 時,可以分別捕獲各自的函數調用棧
go 程序 crash 時,會向 stderr 打印所有 go 協程調用棧信息
因此只要捕獲這些信息到文件即可
然後用關鍵字cgocall
定位日誌
可以用 gdb 直接從 coredump 文件中獲取
本人簡單寫了一個測試例子:
獲取URL路徑參數: go 複製 package main import ( "github.com/kataras/iris/v12" ) func main() {