2
我試圖在gdb中轉儲乘客進程的回溯。我知道我應該只執行如何在gdb中爲乘客進程獲取rb_backtrace()的輸出
attach <PID>
call rb_backtrace()
開始GDB後,但我想不通的地方輸出的去向,我已經看了軌生產日誌(設置爲信息),nginx的日誌在/ var /日誌/ nginx,但我找不到輸出。有任何想法嗎?
我試圖在gdb中轉儲乘客進程的回溯。我知道我應該只執行如何在gdb中爲乘客進程獲取rb_backtrace()的輸出
attach <PID>
call rb_backtrace()
開始GDB後,但我想不通的地方輸出的去向,我已經看了軌生產日誌(設置爲信息),nginx的日誌在/ var /日誌/ nginx,但我找不到輸出。有任何想法嗎?
我不知道紅寶石結束了答案 - 我猜它會紅寶石進程的標準輸出或標準錯誤 - 但GDB最近得到了旨在幫助這個方案中的新功能。
這個新功能被稱爲「幀過濾器」,它允許您通過編寫檢查低級進程狀態的簡單Python腳本來更改堆棧跟蹤的呈現方式。例如,您可以編寫一個理解Ruby解釋器的腳本,然後讓gdb的「bt」自動將解釋(Ruby)幀與C幀交織在一起。
欲瞭解更多信息,從這裏開始閱讀接下來的幾個節點:http://sourceware.org/gdb/current/onlinedocs/gdb/Frame-Filter-API.html#Frame-Filter-API
我想看到這個功能,通過各種解釋項目被採納。漂亮的印刷技術被廣泛採用,我認爲這是合乎邏輯的下一步。