成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

調試鴻蒙App源代碼的兩種方式

系統
調試是開發App的必備技能,畢竟任何一個比較復雜的App都不可能一次編碼成功,如果App的預期與自己期望的不同,或由于某些原因異常中斷,就需要查中斷的原因,這些都需要調試程序。

[[351121]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com/#zz

 調試是開發App的必備技能,畢竟任何一個比較復雜的App都不可能一次編碼成功,如果App的預期與自己期望的不同,或由于某些原因異常中斷,就需要查中斷的原因,這些都需要調試程序。

調試程序有多種方法,比較常用的有設置斷點和輸出日志兩種方式,本文將詳細介紹這兩種調試App的方式。

1. 設置斷點

如果認為需要跟蹤的代碼或bug在某行代碼的附近,可以單擊該行代碼前面的部分為該行設置斷點,這時會在這行代碼前面出現一個紅點,如圖1所示。

圖1 設置斷點 

然后點擊上方工具欄中如圖2所示的調試運行按鈕。

[[351122]]

圖2 調試運行按鈕

如果未遇到斷點,點擊該按鈕會正常運行程序,一旦遇到斷點,程序執行就會在斷點處停止執行。知道按F7或F8鍵才繼續一行一行執行程序,以便監控程序中的相關變量的狀態。F7表示Step Into,F8表示Step Over。其中Step Into表示會跟蹤到方法內部,例如,當前正在執行一個方法,按F7鍵會繼續跟蹤到方法內部,然后繼續一行一行代碼執行。Step Over會將方法當做一行代碼執行,不會跟蹤到方法內部。所以如果認為某一個方法肯定沒有問題,就按F8,如果認為該方法可能會有一些問題,就按F7。

調試過程的效果如圖3所示。我們可以看到,在下方的Variables視圖中會顯示相關變量的當前值。


圖3 調試代碼

 

2. 輸出日志

另外一種調試代碼的方式就是輸出日志,可以直接使用System.out.println(...)的方式將信息輸出到LogCat視圖中,例如,執行下面的代碼,會在LogCat視圖中看到如圖4所示的信息。

System.out.println("hello world");

 

圖4在LogCat視圖中輸出的調試信息

HarmonyOS還提供了另外一種輸出日志的方式,這就是HiLog類,該類提供了多個靜態方法,用于輸出不同級別的日志信息。這些靜態方法如表1所示。

表1 HiLog類中用于輸出日志信息的方法

 這5個方法的參數完全相同,例如,error方法的原型如下:

  1. public static int error(HiLogLabel label, String format, Object... args); 

其中label參數表示輸出日志的相關信息,類型是HiLogLabel對象,format表示要輸出的日志文本(可以包括格式化占位符),args參數表示格式化的參數值,是可選的參數。

使用輸出日志方法的案例如下:

  1. HiLogLabel label = new HiLogLabel(HiLog.LOG_APP ,223, "MY_TAG"); 
  2. HiLog.error(label, "這是一行錯誤信息,原因:%{private}s","Url不可訪問"); 
  3. HiLog.warn(label,"這是一個警告,原因是:%{public}s""變量的值可能是負數"); 

 其中HiLogLabel構造方法的第1個參數表示日志類型,目前只能是HiLog.LOG_APP,后續會開放更多的日志類型。第2個參數是domain,就是一個整數類型,第3個參數是日志的標簽。Domain和日志標簽都會以某種形式顯示在日志信息上。

在輸出日志信息時,運行格式化日志信息,也就是為日志信息指定占位符。占位符需要在%和符號(如s、d)之間加{private}或{public},如果加{private},輸出的信息就是 ,也就是說會隱藏占位符對應的信息,如果加{public},則輸出原始的占位符信息。Domain在輸出時被轉換為十六進制數放到標簽的前面,中間用斜杠(/)分隔。

執行這段代碼,會在HiLog視圖中輸出如圖5所示的日志信息。

圖5 在HiLog視圖輸出日志信息

 使用error方法會輸出深紅色的日志信息,日志的內容與其他方法輸出的日志內容相同。不過要注意,使用HiLog的相關方法輸出的日志分為5個級別,分別是DEBUG(調試)、INFO(信息)、WARN(警告)、ERROR(錯誤)、FATAL(致命錯誤)。這5個級別分別用5個整數表示,這些整數都在HiLog類中定義,代碼如下:

  1. public final class HiLog { 
  2.     public static final int DEBUG = 3; 
  3.     public static final int INFO = 4; 
  4.     public static final int WARN = 5; 
  5.     public static final int ERROR = 6; 
  6.     public static final int FATAL = 7; 
  7.     … … 

如果要在HiLog視圖中過濾這些級別的信息。只有不大于當前級別的信息才會給顯示。例如,要過濾WARN信息,只有DEBUG、INFO和WARN這3類信息才會被顯示,由于ERROR和FATAL的值逗比WARN大,所以這兩類信息不會被顯示。

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com/#zz

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2011-03-03 10:26:04

Pureftpd

2021-05-27 10:57:01

TCP定時器網絡協議

2009-06-25 13:43:00

Buffalo AJA

2010-10-21 16:24:18

sql server升

2010-08-06 09:38:11

Flex讀取XML

2023-03-29 13:06:36

2010-09-07 11:09:59

2021-04-26 09:00:00

JavaScript開發代碼

2010-07-27 15:03:37

Flex ArrayC

2010-05-10 18:19:00

負載平衡技術

2024-09-20 11:32:28

.NET內存管理

2010-07-14 10:30:26

Perl多線程

2011-03-23 11:22:14

oracle dbli

2010-07-15 14:38:55

Perl eval函數

2010-08-03 13:27:04

FlexBuilder

2011-04-02 09:48:38

深拷貝

2016-11-07 09:02:02

Malloc內存syscall

2011-06-16 10:02:08

JAVA靜態載入

2009-09-08 15:22:20

Spring依賴注入

2021-12-08 10:47:35

RabbitMQ 實現延遲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产免费一区二区三区五区 | 国产精品成人免费 | 91免费看片神器 | 2018中文字幕第一页 | 99九九久久| 91资源在线观看 | 日本精品一区 | 伊人婷婷| 综合国产第二页 | 亚洲av毛片成人精品 | 精品一区二区三区免费毛片 | 美女黄18岁以下禁止观看 | 嫩草视频免费 | 国产精品一区二区免费看 | 久久国产精品偷 | 一区在线视频 | 91福利电影在线观看 | 久久久久久久国产 | 精品自拍视频 | 亚洲免费视频网站 | 国产日韩精品一区二区 | 一级免费看 | 久久大陆 | 国产第一页在线观看 | www.国产| av久久 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | japan25hdxxxx日本 做a的各种视频 | 天堂网中文字幕在线观看 | 91传媒在线观看 | 欧美a在线 | 伊人热久久 | 国产精品午夜电影 | 日韩中文字幕视频 | 国产精品片aa在线观看 | 亚洲视频中文字幕 | 欧美日韩国产精品一区二区 | 亚洲精品91 | 久久中文视频 | 希岛爱理在线 | 成人亚洲在线 |