linux抓取執行時程序棧資訊

2021-08-28 07:24:36 字數 464 閱讀 3767

linux上開發時,一般程序執行結果和預期不符會通過打log記錄日誌分析執行過程,但有時log日誌不全,再者一些大型系統長期執行不會過多的記錄日誌,一般可以設定core檔案配置,以便程序在異常掛掉後自動記錄棧資訊,但大部分情況下程序是在執行過程中出現問題,這時就需要抓取執行時棧資訊,結合日誌進行分析了。

1. 主動kill程序生成core檔案分析(前提是已經配置好生成core的配置:ulimit)

查詢到執行程序pid,然後使用kill -11 向程序傳送退出訊號(段異常),生成core檔案後使用gdb調取棧資訊分析。

下面是linux訊號值,一般傳送預設動作為core的訊號都可以生成core檔案,其他則不生成。

2. 直接通過gstack命令抓取,不需要停掉目標程序。

引數:gstack

linux 獲取程序執行時間

獲取程序執行時間 一 時間概念 在linux下進行程式設計時,可能會涉及度量程序的執行時間。linux下程序的時間值分三種 時鐘時間 real time 指程序從開始執行到結束,實際執行的時間。使用者cpu時間 user cpu time 指程序中執行使用者指令所用的時間,也包括子程序。系統cpu時...

執行時型別資訊

一.向下造型 動態型別轉換 dynamic cast 用於將基類型別的指標或引用轉換為其子類型別的指標或引用,前提是子類必須從基類多型繼承,即基類包含至少乙個虛函式 class a class b public a b b a pa b b pb dynamic cast pa a ra b b r...

Python執行時動態檢視程序內部資訊

接前兩篇 執行時檢視執行緒資訊 的部落格,我在想,既然我可以隨時列印執行緒資訊,那麼我是不是可以隨時列印程序內部的其它資訊呢?比如,實時檢視一些物件屬性等,這樣可以幫助我們在不重新啟動應用程式的情況下就可以觀察程序的執行狀態。這裡暫時不考慮那些使用第三方庫或工具的情況 根據這個想法,檢視了一下pyt...