Android列印堆疊的方法

2021-08-21 03:03:22 字數 467 閱讀 4041

列印呼叫堆疊可以直接把問題發生時的函式呼叫關係打出來,非常有利於理解函式呼叫關係,這個對源**邏輯研究是很有幫助的。

new throwable().printstacktrace();
很簡單。

在mk中要新增下面的庫:

local_shared_libraries := \

libbinder \

包含下面標頭檔案:

include include
執行下面方法列印堆疊資訊:

callstack cs("tag");//列印堆疊資訊

pid_t pid = ipcthreadstate::self()->getcallingpid();

alogv("call pid %d", pid);//列印程序id

好文推薦

boost stacktrace堆疊列印

在windows下最方便的是minidump,其他2個平台麻煩不少,google breakpad使用起來又太麻煩.最近boost1.65版本出了個stacktrace使用起來簡單方便,只是無法看實際資料,對於快速定位bug還是很有幫助的.要注意的是異常的處理需要寫檔案,應用重啟之後再讀取檢視 用其...

backtrace 堆疊列印除錯

有的時候程式需要檢視程序在某些極端情況下進入某個函式時,需要看是哪個函式呼叫它。這個時候可以使用backtrace進行列印。include include includevoid print trace printf obtained zd stack frames.n size for i 0 i...

Windows下C 列印堆疊

搜尋了下在windows下c 列印堆疊的相關資料,發現很多都是類似,且方法比較複雜,因此自己封裝了乙個介面。主要用到了capturestackbacktrace,symfromaddr,symgetlinefromaddr64這三個介面。capturestackbacktrace用於獲取當前堆疊,s...