1. 程式人生 > >Android 列印堆疊的幾種方法

Android 列印堆疊的幾種方法

Android除錯過程中經常會出現程式出現的結果不是我們預期的結果,那就需要加Log列印除錯,看呼叫過程是否正確,此時就需要列印程式的呼叫棧,特別是Android程式碼相當龐大,列印堆疊更有利於我們分析問題,下面就記錄下平時用到不退出程式列印堆疊的方法。

驗證的方法相關簡單,在Activity的類中建立一個方法ThrowException,在onCreate中呼叫此方法,看打印出什麼

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 public void ThrowException() { // 除錯列印堆疊而不退出 Log.d(TAG, Log.getStackTraceString(new Throwable())); // 建立異常列印堆疊 Exception e = new Exception("this is a log"); e.printStackTrace(); // 獲取當前執行緒的堆疊 for (StackTraceElement i : Thread.currentThread().getStackTrace()) {
Log.i(TAG, i.toString()); } RuntimeException re = new RuntimeException(); re.fillInStackTrace(); Log.i(TAG, "stackTrace", re); // 主動丟擲異常除錯 try { Log.i(TAG, "--------------------------------NullPointerException-----------1"); throw new NullPointerException();
} catch (NullPointerException e1) { // TODO: handle exception Log.i(TAG, "--------------------------------NullPointerException"); Log.e(TAG, Log.getStackTraceString(e1)); // e1.printStackTrace();

相關推薦

Android 列印堆疊方法

在Android除錯過程中經常會出現程式出現的結果不是我們預期的結果,那就需要加Log列印除錯,看呼叫過程是否正確,此時就需要列印程式的呼叫棧,特別是Android程式碼相當龐大,列印堆疊更有利於我們分析問題,下面就記錄下平時用到不退出程式列印堆疊的方法。 驗證

Android列印除錯資訊方法===>Log

Android程式設計的孩子就喜歡列印好多好多的除錯資訊,也沒辦法,誰讓咱們菜呢 1傳統java方法 System.out.println("===>start!");(1)看不懂?回家補你的JAVA去吧! (2)能用,但是不推薦,不信你看            

利用Xposed Hook列印Java函式呼叫堆疊資訊的方法

在進行Android逆向分析的時候,經常需要進行動態除錯棧回溯,檢視Java函式的呼叫流程,Android的smali動態除錯又不是很方便,因此使用Android的Java Hook的方法,列印Java函式呼叫堆疊資訊輔助靜態分析。package com.xposeddemo

將HTML5封裝成android應用APK文件的方法

android作為下一代的網頁語言,HTML5擁有很多讓人期待已久的新特性。HTML5的優勢之一在於能夠實現跨平臺遊戲編碼移植,現在已經有很多公司在移動 設備上使用HTML5技術。隨著HTML5跨平臺支持的不斷增強和智能手機的迅速普,HTML5技術有著非常好的發展前景,甚至有人預言HTML5將引燃 移動平臺遊

Android 將HTML5封裝成android應用APK文件的方法

顯示 import 網站 結束 name 很快 idm log 詳細 越來越多的開發者熱衷於使用html5+JavaScript開發移動Web App。不過,HTML5 Web APP的出現能否在未來取代移動應用,就目前來說,還是個未知數。一方面,用戶在使用習慣上,不喜歡在

Appium Android 獲取包名和 Activity 的方法 (轉)

androidm test class .com mps 文件 ren -s tle 本文檔主要記錄“獲取包名和 Activity 的方法”,用於自動化測試時啟動APP。以下方法主要來源於網絡和社區同學的貢獻,特此感謝! 1. 方法一: pm list package查看包

html5 如何打包成apk,將H5封裝成android應用APK文件的方法

pro 高手 closed 免費 lan 快速 沒有 能夠 keycode 直接使用編程軟件提供的方法: 1、需要下載安裝MyEclipse2014,Android SDK,eclipse(需配置Android開發環境) Java和Android環境安裝與配置。 2、打開M

Android去掉標題欄的方法

1、直接在重寫的onCreate方法中說明 注意: this.requestWindowFeature(Window.FEATURE_NO_TITLE); 需要在setContentView(R.layout.activity_main);這一句上面。 2、在Andro

Android中Intent傳值的方法

1.使用putextra    Intent intent = new Intent(); intent.putExtra("test","asdf"); intent.se

Android Studio 中 處理 Gradle 依賴的方法的介紹

exclude exclude : 剔除依賴中的某個模組 例: // 根據組織名 + 構建名剔除 //recyclerview 不想要依賴 com.android.support:support-annotations:26.1.0,就可以這麼做 implementation

Android中使用異步線程更新UI視圖的方法

his exec 計時 創建線程 break vat set 重寫 fin 在Android中子線程是不能更新ui的。 所以我們要通過其他方式來動態改變ui視圖, 1、runOnUiThreadactivity提供的一個輕量級更新ui的方法,在Fragment需要使用的

Android中使用非同步執行緒更新UI檢視的方法

在Android中子執行緒是不能更新ui的。 所以我們要通過其他方式來動態改變ui檢視, 1、runOnUiThreadactivity提供的一個輕量級更新ui的方法,在Fragment需要使用的時候要用getActivity.runOnUiThread開啟執行緒 這種方法最簡單,方便更新一些不需要判斷的

python中列印金字塔和九九乘法表的方法

# 列印九九乘法表for i in range(1,10): for j in range(1,i+1): # x=i*j # print(i,'*',j,'=',x,end=' ') print('%s*%s=%s' %(i,j,i*j),end=' ')

android 超長圖顯示的方法

問題:用ImageView控制元件載入長圖的時候會遇到這樣的一個問題,同一張長圖在有些機型可以正常顯示,但是在部分機型確顯示不了。 原因:當APP開啟硬體加速的時候,GPU對於openglRender 渲染有一個限制值,超過了這個限制值,就無法渲染,不同的手機會有不同的限制值; j針對這

Android中實現延時執行操作的方法

在Android開發中我們可能會有延時執行某個操作的需求,例如我們啟動應用的時候,一開始呈現的是一個引導頁面,過了兩三秒後,會自動跳轉到主介面。這就是一個延時操作。  下面是實現延時執行操作的幾種方法: 1.使用執行緒的休眠實現延時操作    new Thread() {

Android實現計時與倒計時的方法

                方法一Timer與TimerTask(Java實現)public class timerTask extends Activity{ private int recLen = 11; private TextView txtView; Timer timer = new Tim

html5 如何打包成apk,將H5封裝成android應用APK檔案的方法

直接使用程式設計軟體提供的方法: 1、需要下載安裝MyEclipse2014,Android SDK,eclipse(需配置Android開發環境) Java和Android環境安裝與配置。 2、開啟MyEclipse2014,新建一個HTML5 Mobile Ap

Android實現延遲的方法小結

本文例項總結了Android實現延遲的幾種方法。分享給大家供大家參考,具體如下: 一、通過Thread new Thread(){ public void run(){ sleep(***); } }.start(); 通過ProgressDialog的使用來

Android多執行緒-----非同步的方法

在Android專案中,有經驗的開發人員都知道,一些耗時的IO操作等都必須在子執行緒中去操作,那麼可以有哪些方法來開啟子執行緒呢,一般可以使用Java中自帶的幾種方法,也可以使用Andorid特有的一些類。 用Java來實現非同步 主要有兩種方法來實現非同步,繼承Thread類和實現Runnab

Android Studio下Svn忽略檔案配置的方法

一、Android Studio建立的Android專案一般需要忽略 1、.idea資料夾 2、.gradle資料夾 3、所有的build資料夾 4、所有的.iml檔案 5、local.