国产精品亚洲AV三区_国产精品日本一区二区在线播放_国产成人无码久久久精品一_性感美女视频在线观看免费精品

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

視頻號
視頻號

抖音
抖音

快手
快手

微博
微博

java crash

文檔

java crash

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

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

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

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

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

#!/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層代碼觸發(fā)的。2、一般情況下程序出錯時會彈出提示框,JVM虛擬機退出。3、一般的Crash工具都能夠捕獲,系統(tǒng)也提供了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();
????}
????/**
?????*?這個是最關鍵的函數(shù),當程序中有未被捕獲的異常,系統(tǒng)將會自動調用#uncaughtException方法
?????*?thread為出現(xiàn)未捕獲異常的線程,ex為未捕獲的異常,有了這個ex,我們就可以得到異常信息。
?????*/
????@Override
????public?void?uncaughtException(Thread?thread,?Throwable?ex)?{
????????try?{
????????????//?導出異常信息到SD卡中
????????????dumpExceptionToSDCard(ex);
????????}?catch?(IOException?e)?{
????????????e.printStackTrace();
????????}
????????ex.printStackTrace();
????????//?如果系統(tǒng)提供了默認的異常處理器,則交給系統(tǒng)去結束我們的程序,否則就由我們自己結束自己
????????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非正常退出現(xiàn)象,也就是常說的崩潰。在工作目錄下會產生一個日志文件,而java crash通過簡單的方式就能夠捕獲到異常。
推薦度:
為你推薦
資訊專欄
熱門視頻
相關推薦
java獲取網絡時間 java crontab java獲取視頻時長 java csrf java獲取請求域名 java獲取路徑 java cssbox java獲取運行時間 java ctp java獲取隨機字符串 java daemon java獲取隨機數(shù) java dashboard java獲得當前路徑 java表單校驗 java dataframe java規(guī)則引擎 java dataset java讀取json java讀取本地excel java獲取秒級時間戳 java core java獲取泛型class java corba java cookie java獲取本地ip java controller java獲取本周日期 java context japanese java 微信怎么群發(fā)消息 java獲取時間差 java獲取文件名后綴 微博賬號怎么注銷 excel如何換行 java獲取當月最后一天日期 excel去重 java獲取當前項目的路徑 QQ怎么強制解綁手機號 java獲取當前路徑的幾種方法
Top 国产精品亚洲AV三区_国产精品日本一区二区在线播放_国产成人无码久久久精品一_性感美女视频在线观看免费精品
<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 欧美va天堂va视频va在线| 国产午夜精品美女视频明星a级| 久久精品99国产精品| 亚洲欧美日韩精品久久奇米色影视 | 免费在线播放第一区高清av| 日韩亚洲精品电影| 一区二区精品| 亚洲制服av| 久久精品国产亚洲一区二区三区| 久久久精品国产一区二区三区| 久久婷婷人人澡人人喊人人爽| 免费亚洲电影在线| 亚洲欧美卡通另类91av| 亚洲网站视频| 性欧美超级视频| 久久久综合网站| 欧美高清在线一区| 欧美日韩在线免费观看| 国产酒店精品激情| 黄色成人av网| 欧美不卡福利| 欧美午夜视频一区二区| 国产欧美日韩不卡| 亚洲电影免费观看高清完整版在线| 亚洲日本视频| 亚洲在线观看免费| 久久中文在线| 亚洲精选视频在线| 在线观看日韩av先锋影音电影院| 亚洲人成高清| 午夜国产精品影院在线观看| 久久综合九色| 国产精品第一区| 国语精品一区| 亚洲视频在线播放| 久久麻豆一区二区| 欧美日韩一区二区三区在线视频| 国产日韩精品一区二区浪潮av| 亚洲国产视频a| 亚洲欧美国产精品桃花| 欧美v日韩v国产v| 国产乱码精品1区2区3区| 亚洲高清激情| 国产精品videosex极品| 一区二区精品| 亚洲电影免费观看高清完整版在线 | 国产精品久久久久久久久搜平片| 99伊人成综合| 午夜精品久久久久久久男人的天堂| 久久夜色精品国产| 国产乱码精品一区二区三区忘忧草 | 欧美国产欧美亚州国产日韩mv天天看完整| 欧美视频一区| 亚洲高清一二三区| 欧美伊人精品成人久久综合97| 欧美另类极品videosbest最新版本 | 精品91在线| 欧美日韩在线观看一区二区| 黄色在线一区| 午夜精品美女久久久久av福利| 欧美成人免费网| 国自产拍偷拍福利精品免费一| 亚洲亚洲精品三区日韩精品在线视频| 巨乳诱惑日韩免费av| 国产欧美在线视频| 亚洲视频一区在线观看| 国内精品久久久久久| 国际精品欧美精品| 久久久久久高潮国产精品视| 久久全球大尺度高清视频| 国产精品免费看久久久香蕉| 日韩亚洲成人av在线| 美国成人毛片| 狠狠色伊人亚洲综合成人| 性高湖久久久久久久久| 国产精品二区二区三区| 日韩一级二级三级| 欧美大成色www永久网站婷| 黄色一区二区三区| 久久久精品日韩| 国产亚洲福利社区一区| 午夜视黄欧洲亚洲| 国产精品色婷婷| 亚洲一区二区少妇| 日韩一级黄色大片| 欧美日韩成人在线视频| 亚洲精品无人区| 欧美精品激情在线观看| 亚洲区国产区| 欧美激情久久久久久| 亚洲日本在线视频观看| 欧美高清在线观看| 久久成人精品| 欧美fxxxxxx另类| 亚洲激情影视| 欧美韩日高清| 日韩亚洲不卡在线| 欧美日韩中国免费专区在线看| 一本色道久久综合亚洲精品不 | 狠狠色综合网| 每日更新成人在线视频| 在线精品一区| 欧美国产高清| 一区二区三区国产| 一区二区三区在线视频观看| 亚洲另类视频| 欧美午夜www高清视频| 亚洲一区二区三区在线观看视频| 国产精品久久久爽爽爽麻豆色哟哟| 国产精品magnet| 香蕉久久国产| 一区精品在线| 欧美激情网友自拍| 正在播放欧美一区| 国产欧美精品国产国产专区| 久久久999精品| 亚洲黄色免费电影| 欧美日韩一区二区在线视频 | 玖玖在线精品| 亚洲经典在线| 国产精品99免视看9| 欧美在线91| 亚洲高清在线观看一区| 欧美日韩精品系列| 性色av一区二区三区| 揄拍成人国产精品视频| 欧美日韩免费一区二区三区视频 | 久久久999| 日韩视频一区二区| 国产精品亚洲片夜色在线| 久久久久一区| 99re6这里只有精品| 午夜一区二区三区不卡视频| 狠狠色伊人亚洲综合网站色| 欧美剧在线观看| 午夜欧美视频| 亚洲人成在线影院| 91久久国产自产拍夜夜嗨| 欧美影院在线| 亚洲日本va午夜在线电影| 国产精品免费aⅴ片在线观看| 国产亚洲激情在线| 欧美亚洲综合久久| 亚洲国产精品黑人久久久| 国产精品久久久999| 你懂的国产精品| 午夜精品国产更新| 亚洲精品偷拍| 狠狠久久五月精品中文字幕| 欧美日韩中文| 模特精品在线| 午夜性色一区二区三区免费视频| 91久久精品一区二区别| 国产日韩欧美| 欧美日韩免费观看一区| 久久中文字幕导航| 亚洲欧美综合国产精品一区| 亚洲久久一区| 伊人狠狠色丁香综合尤物| 国产精品午夜在线观看| 欧美阿v一级看视频| 久久av在线看| 亚洲专区欧美专区| 美女被久久久| 久久不见久久见免费视频1| 夜夜精品视频| 亚洲国产精品久久久久婷婷老年| 国产日韩在线看片| 国产精品大全| 欧美日韩爆操| 欧美成人久久| 狼狼综合久久久久综合网| 欧美在线三区| 亚洲欧美日韩一区二区| 99精品国产在热久久| 亚洲国产人成综合网站| 国外成人免费视频| 国产麻豆日韩| 国产精品久久久久久亚洲毛片 | 欧美性猛片xxxx免费看久爱| 免费成人黄色| 久久久亚洲国产美女国产盗摄| 欧美一级久久久久久久大片| 亚洲永久精品大片| 在线亚洲+欧美+日本专区| 99精品视频免费全部在线| 亚洲日本在线观看| 亚洲国产一二三| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲欧美经典视频| 夜夜嗨av一区二区三区四区| 一区二区欧美国产| 国产一区91| 国产一区二区三区在线观看免费视频| 欧美性事在线| 欧美日韩三区四区| 欧美日韩一级视频| 欧美日韩亚洲国产一区| 欧美三区在线视频| 欧美日韩国产精品专区|