概述
在調(diào)試程序時,如cpu莫名的高或低,一個常用的方式就是打印當(dāng)前進(jìn)行的調(diào)用棧,然后確認(rèn)各線程的執(zhí)行函數(shù)是否有異常。
在linux系統(tǒng)中可以使用pstack命令,直接打印各線程的棧信息,可惜在macos上沒有該命令。一種解決方式就是將代碼遷移到linux平臺上進(jìn)行debug(事實(shí)上筆者也是這么做的,因?yàn)閘inux平臺有很多熟悉的工具),但代碼遷移存在成本(系統(tǒng)函數(shù)版本不一致),macos上的系統(tǒng)文件版本和linux平臺上大概率是不同的。
因此比較直接的方式還是找到代替pstack的mac版本,也是本文介紹的方法。
具體做法
step1:打開mac本自帶的程序“活動監(jiān)視器”
step2: 找到正在調(diào)試的進(jìn)程,如果當(dāng)前進(jìn)程太多,可以使用右上角的搜索框輔助
step3: 選中正在調(diào)試的進(jìn)程,點(diǎn)擊左上角的“系統(tǒng)診斷選項(xiàng)”,在彈出的下拉菜單中點(diǎn)擊“取樣進(jìn)程”
step4: 等一段時間后(采樣時間,5s左右),會彈出一個分析文件。該文件頭部會提示對該進(jìn)程采樣的次數(shù),然后根據(jù)采樣到的線程棧函數(shù)出現(xiàn)次數(shù)由高到低顯示,主要信息包括線程id和采樣次數(shù)。文章來源:http://www.zghlxwxcb.cn/news/detail-790738.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-790738.html
到了這里,關(guān)于在macos上查看當(dāng)前進(jìn)程的棧信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!