亚洲国产第一站精品蜜芽_亚洲AV无码精品色午夜果冻不卡_国产香蕉九九久久精品免费_国产精品亚洲专区无码不卡

更多精彩內容,歡迎關注:

視頻號
視頻號

抖音
抖音

快手
快手

微博
微博

java crash

文檔

java crash

Crash就是由于代碼異常而導致App非正常退出現象,也就是常說的崩潰。在工作目錄下會產生一個日志文件,而java crash通過簡單的方式就能夠捕獲到異常。
推薦度:
導讀Crash就是由于代碼異常而導致App非正常退出現象,也就是常說的崩潰。在工作目錄下會產生一個日志文件,而java crash通過簡單的方式就能夠捕獲到異常。

java crash是什么,讓我們一起了解一下:

Crash就是由于代碼異常而導致App非正常退出現象,也就是常說的崩潰。在工作目錄下會產生一個日志文件,而java crash通過簡單的方式就能夠捕獲到異常。

那么在java進程中crash產生錯誤了怎么辦?

如果有一個嚴重的錯誤引起Java進程非正常退出,我們叫Crash,這時候會產生一個日志文件,缺省情況下,這個文件會產生在工作目錄下,但是,可以在Java啟動參數通過下面的設置,來改變這個文件的位置和命名規則。例如:java -XX:ErrorFile=/var/log/java/java_error_%p.log。就將這個錯誤文件放在/var/log/java下,并且以java_error_pid.log的形式出現。

#!/usr/sbin/dtrace?-qs
proc:::signal-send
/args[1]->pr_pid?==?$1/
{
printf("%s(pid:%d)?is?sending?signal?%d?to?%s"n",?execname,?pid,?args[2],args[1]->pr_fname);
}

案例分析java crash的具體使用:以Android Crash之Java Crash為例。

首先我們要了解Android的Crash類型,那在Android中通常有兩種Crash類型,分別是Java Crash和Native Crash。

Java Crash在Android上的特點是什么?1、這類錯誤一般是由Java層代碼觸發的。2、一般情況下程序出錯時會彈出提示框,JVM虛擬機退出。3、一般的Crash工具都能夠捕獲,系統也提供了API。

我們通過UncaughtExceptionHandler來記錄dump異常日志代碼如下:

package?com.devilwwj.androidcrashdemo;
/**
?*?com.devilwwj.androidcrashdemo
?*?Created?by?devilwwj?on?16/5/27.
?*/
import?android.content.Context;
import?android.content.pm.PackageInfo;
import?android.content.pm.PackageManager;
import?android.content.pm.PackageManager.NameNotFoundException;
import?android.os.Build;
import?android.os.Environment;
import?android.os.Process;
import?android.util.Log;
import?java.io.BufferedWriter;
import?java.io.File;
import?java.io.FileWriter;
import?java.io.IOException;
import?java.io.PrintWriter;
import?java.lang.Thread.UncaughtExceptionHandler;
import?java.text.SimpleDateFormat;
import?java.util.Date;
public?class?CrashHandler?implements?UncaughtExceptionHandler?{
????private?static?final?String?TAG?=?"CrashHandler";
????private?static?final?boolean?DEBUG?=?true;
????private?static?final?String?PATH?=?Environment
????????????.getExternalStorageDirectory()?+?"/CrashDemo/log/";
????private?static?final?String?FILE_NAME?=?"crash";
????private?static?final?String?FILE_NAME_SUFFIX?=?".trace";
????private?static?final?String?ABOLUTE_PATH?=?PATH?+?FILE_NAME?+?FILE_NAME_SUFFIX;
????private?String?deviceToken;
????private?static?CrashHandler?sInstance?=?new?CrashHandler();
????private?UncaughtExceptionHandler?mDefaultCrashHandler;
????private?Context?mContext;
????private?CrashHandler()?{
????}
????public?static?CrashHandler?getInstance()?{
????????return?sInstance;
????}
????public?void?init(Context?context)?{
????????mDefaultCrashHandler?=?Thread.getDefaultUncaughtExceptionHandler();
????????Thread.setDefaultUncaughtExceptionHandler(this);
????????mContext?=?context.getApplicationContext();
????}
????/**
?????*?這個是最關鍵的函數,當程序中有未被捕獲的異常,系統將會自動調用#uncaughtException方法
?????*?thread為出現未捕獲異常的線程,ex為未捕獲的異常,有了這個ex,我們就可以得到異常信息。
?????*/
????@Override
????public?void?uncaughtException(Thread?thread,?Throwable?ex)?{
????????try?{
????????????//?導出異常信息到SD卡中
????????????dumpExceptionToSDCard(ex);
????????}?catch?(IOException?e)?{
????????????e.printStackTrace();
????????}
????????ex.printStackTrace();
????????//?如果系統提供了默認的異常處理器,則交給系統去結束我們的程序,否則就由我們自己結束自己
????????if?(mDefaultCrashHandler?!=?null)?{
????????????mDefaultCrashHandler.uncaughtException(thread,?ex);
????????}?else?{
????????????Process.killProcess(Process.myPid());
????????}
????}
????private?File?dumpExceptionToSDCard(Throwable?ex)?throws?IOException?{
????????//?如果SD卡不存在或無法使用,則無法把異常信息寫入SD卡
????????if?(!Environment.getExternalStorageState().equals(
????????????????Environment.MEDIA_MOUNTED))?{
????????????if?(DEBUG)?{
????????????????Log.w(TAG,?"sdcard?unmounted,skip?dump?exception");
????????????????return?null;
????????????}
????????}
????????File?dir?=?new?File(PATH);
????????if?(!dir.exists())?{
????????????dir.mkdirs();
????????}
????????long?current?=?System.currentTimeMillis();
????????String?time?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss")
????????????????.format(new?Date(current));
????????//?File?file?=?new?File(PATH?+?FILE_NAME?+?time?+?"_"+?deviceToken?+
????????//?FILE_NAME_SUFFIX);
????????File?file?=?new?File(PATH?+?FILE_NAME?+?FILE_NAME_SUFFIX);
????????if?(!file.exists())?{
????????????file.createNewFile();
????????}?else?{
????????????try?{
????????????????//?追加內容
????????????????PrintWriter?pw?=?new?PrintWriter(new?BufferedWriter(
????????????????????????new?FileWriter(file,?true)));
????????????????pw.println(time);
????????????????dumpPhoneInfo(pw);
????????????????pw.println();
????????????????ex.printStackTrace(pw);
????????????????pw.println("---------------------------------分割線----------------------------------");
????????????????pw.println();
????????????????pw.close();
????????????}?catch?(Exception?e)?{
????????????????Log.e(TAG,?"dump?crash?info?failed");
????????????}
????????}
????????return?file;
????}
????private?void?dumpPhoneInfo(PrintWriter?pw)?throws?NameNotFoundException?{
????????PackageManager?pm?=?mContext.getPackageManager();
????????PackageInfo?pi?=?pm.getPackageInfo(mContext.getPackageName(),
????????????????PackageManager.GET_ACTIVITIES);
????????pw.print("App?Version:?");
????????pw.print(pi.versionName);
????????pw.print('_');
????????pw.println(pi.versionCode);
????????//?android版本號
????????pw.print("OS?Version:?");
????????pw.print(Build.VERSION.RELEASE);
????????pw.print("_");
????????pw.println(Build.VERSION.SDK_INT);
????????//?手機制造商
????????pw.print("Vendor:?");
????????pw.println(Build.MANUFACTURER);
????????//?手機型號
????????pw.print("Model:?");
????????pw.println(Build.MODEL);
????????//?cpu架構
????????pw.print("CPU?ABI:?");
????????pw.println(Build.CPU_ABI);
????}
????/**
?????*?提供方法上傳異常信息到服務器
?????*?@param?log
?????*/
????private?void?uploadExceptionToServer(File?log)?{
????????//?TODO?Upload?Exception?Message?To?Your?Web?Server
????}
}

上面是核心代碼,可以直接拿去用,可以在Application類中進行初始化。

以上就是小編今天的分享了,希望可以幫助到大家。

文檔

java crash

Crash就是由于代碼異常而導致App非正常退出現象,也就是常說的崩潰。在工作目錄下會產生一個日志文件,而java crash通過簡單的方式就能夠捕獲到異常。
推薦度:
為你推薦
資訊專欄
熱門視頻
相關推薦
java獲取網絡時間 java crontab java獲取視頻時長 java csrf java獲取請求域名 java獲取路徑 java cssbox java獲取運行時間 java ctp java獲取隨機字符串 java daemon java獲取隨機數 java dashboard java獲得當前路徑 java表單校驗 java dataframe java規則引擎 java dataset java讀取json java讀取本地excel java獲取秒級時間戳 java core java獲取泛型class java corba java cookie java獲取本地ip java controller java獲取本周日期 java context japanese java 微信怎么群發消息 java獲取時間差 java獲取文件名后綴 微博賬號怎么注銷 excel如何換行 java獲取當月最后一天日期 excel去重 java獲取當前項目的路徑 QQ怎么強制解綁手機號 java獲取當前路徑的幾種方法
Top 亚洲国产第一站精品蜜芽_亚洲AV无码精品色午夜果冻不卡_国产香蕉九九久久精品免费_国产精品亚洲专区无码不卡
<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></ul>
  • 亚洲欧美日韩专区| 欧美黄色日本| 最新国产成人在线观看| 欧美私人啪啪vps| 久久这里有精品视频| 亚洲一区国产一区| 亚洲精品视频免费在线观看| 国产一区二区三区黄| 国产精品一区免费视频| 欧美日韩一区二区在线| 欧美大片一区二区三区| 久久久人成影片一区二区三区观看 | 亚洲欧洲综合| 在线观看国产日韩| 国产综合一区二区| 国产精品美女久久久久av超清| 欧美老女人xx| 欧美精品色一区二区三区| 久久视频免费观看| 久久亚洲精品网站| 久久麻豆一区二区| 久久婷婷国产综合尤物精品| 久久国产欧美日韩精品| 久久国产精品毛片| 久久成人资源| 久久久久国产精品一区二区| 久久午夜羞羞影院免费观看| 久久人人爽爽爽人久久久| 欧美一区在线看| 久久精品视频免费播放| 久久精品盗摄| 免费av成人在线| 欧美国产日韩精品免费观看| 欧美日韩精品免费观看视频完整| 欧美大色视频| 欧美深夜福利| 国产欧美精品一区二区三区介绍| 国产精品夜夜夜| 黄网站色欧美视频| 亚洲黄网站黄| 亚洲私人影院| 久久精品国产精品| 欧美激情小视频| 国产精品国产三级国产a| 国产女主播一区| 伊人男人综合视频网| 91久久国产综合久久| 一区二区三欧美| 久久成人国产| 欧美精品偷拍| 国产网站欧美日韩免费精品在线观看 | 久久激情视频免费观看| 久久亚洲欧美| 欧美视频一区二区| 精品av久久707| 9l国产精品久久久久麻豆| 欧美亚洲视频| 欧美极品aⅴ影院| 国产欧美欧洲在线观看| 亚洲国产午夜| 欧美在线一区二区| 欧美激情精品久久久久久蜜臀| 国产精品久久久久久久浪潮网站| 国内精品视频在线观看| 一个色综合av| 免费成人av在线看| 国产视频丨精品|在线观看| 亚洲人成网站在线播| 欧美一级久久| 国产精品v日韩精品v欧美精品网站| 国产一区二区三区久久 | 欧美日韩免费在线观看| 国自产拍偷拍福利精品免费一| 一区二区国产精品| 免费成人美女女| 国产在线播精品第三| 亚洲欧美日韩综合国产aⅴ| 欧美国产第一页| 韩日视频一区| 久久国产夜色精品鲁鲁99| 欧美午夜视频在线| 亚洲精品视频中文字幕| 奶水喷射视频一区| 亚洲电影下载| 六月婷婷久久| 在线观看91精品国产麻豆| 欧美一区二区在线看| 欧美性一二三区| 一区二区三区视频免费在线观看| 欧美国产国产综合| 亚洲国产高清一区二区三区| 久久久久久欧美| 黄色影院成人| 麻豆精品在线视频| 在线看片第一页欧美| 久热精品视频在线| 在线电影国产精品| 欧美黄色大片网站| 亚洲精选在线| 欧美色图五月天| 亚洲免费在线看| 国产日韩欧美综合| 久久精品国产第一区二区三区| 国产日韩精品视频一区| 久久国产88| 精品99一区二区三区| 免费成人美女女| 亚洲精品一区二区在线| 欧美日韩中字| 性色av一区二区三区红粉影视| 国产精品日韩| 久久久五月天| 日韩亚洲欧美中文三级| 国产精品大片免费观看| 欧美一区二区三区视频在线| 国产一区二区久久久| 裸体素人女欧美日韩| 亚洲国产综合在线| 国产精品成人一区二区三区夜夜夜 | 精品69视频一区二区三区| 久久免费视频在线| 亚洲精品视频免费在线观看| 国产精品乱人伦中文| 久久久亚洲精品一区二区三区| 亚洲日本免费电影| 国产欧美亚洲视频| 蜜桃av一区二区三区| 亚洲一区二区在线免费观看| 在线观看国产成人av片| 国产精品久久久久久久久久久久久久 | 久久久亚洲成人| 中文网丁香综合网| 狠狠干综合网| 国产精品福利影院| 美女黄毛**国产精品啪啪| 亚洲与欧洲av电影| 亚洲第一天堂无码专区| 国产欧美一区二区精品仙草咪| 欧美电影免费网站| 久久福利视频导航| 一区二区三区免费看| 亚洲国产精品一区二区久| 国产精品一区一区| 欧美精品久久一区二区| 久久漫画官网| 久久成人综合视频| 亚洲私人影院| 亚洲免费观看| 亚洲激情综合| 在线观看亚洲精品| 国产在线不卡视频| 国产伦理一区| 国产精品极品美女粉嫩高清在线| 欧美成人网在线| 久久人人超碰| 久久精品一区二区三区四区| 午夜精品久久久久久久男人的天堂| 亚洲乱码国产乱码精品精可以看 | 欧美大片在线观看| 欧美mv日韩mv国产网站app| 欧美自拍偷拍午夜视频| 亚洲欧美一区二区精品久久久 | 欧美视频精品在线| 欧美激情a∨在线视频播放| 欧美阿v一级看视频| 另类尿喷潮videofree| 久久人人爽国产| 久久成人在线| 噜噜噜91成人网| 久久综合色婷婷| 免费观看成人网| 欧美激情a∨在线视频播放| 欧美激情片在线观看| 欧美日本在线看| 国产精品成人一区二区三区夜夜夜 | 国产嫩草影院久久久久 | 国产精品丝袜xxxxxxx| 国产精品成人久久久久| 国产精品视频网址| 国产精品一区二区三区久久| 国产日韩欧美另类| 国产一在线精品一区在线观看| 含羞草久久爱69一区| 亚洲精品女人| 亚洲视频免费在线观看| 欧美亚洲一级| 蜜臀a∨国产成人精品| 欧美激情精品久久久久久蜜臀| 欧美日韩一区二区三区在线看 | 国产精品老女人精品视频| 国产日韩欧美精品在线| 在线观看欧美日本| 99精品视频一区二区三区| 亚洲曰本av电影| 久久久亚洲一区| 欧美日韩另类字幕中文| 国产日韩精品一区二区浪潮av| 亚洲第一在线综合在线| 中文在线一区| 久久综合一区二区|