1. 程式人生 > >Android Studio除錯功能使用總結【轉】

Android Studio除錯功能使用總結【轉】

這段時間一直在使用Intellij IDEA, 今天把除錯區工具的使用方法記錄於此。

先編譯好要除錯的程式。

1.設定斷點

選定要設定斷點的程式碼行,在行號的區域後面單擊滑鼠左鍵即可。

2.開啟除錯會話

點選紅色箭頭指向的小蟲子,開始進入除錯。

IDE下方出現Debug檢視,紅色的箭頭指向的是現在除錯程式停留的程式碼行,方法f2()中,程式的第11行。紅色箭頭懸停的區域是程式的方法呼叫棧區。在這個區域中顯示了程式執行到斷點處所呼叫過的所用方法,越下面的方法被呼叫的越早。

3.單步除錯

3.1 step over

點選紅色箭頭指向的按鈕,程式向下執行一行(如果當前行有方法呼叫,這個方法將被執行完畢返回,然後到下一行)

3.2 step into

 

點選紅色箭頭指向的按鈕,程式向下執行一行。如果該行有自定義方法,則執行進入自定義方法(不會進入官方類庫的方法)。具體步驟如下:

在自定義方法發f1()處設定斷點,執行除錯

點選

3.3 Force step into 

該按鈕在除錯的時候能進入任何方法。

3.4 step out

如果在除錯的時候你進入了一個方法(如f2()),並覺得該方法沒有問題,你就可以使用stepout跳出該方法,返回到該方法被呼叫處的下一行語句。值得注意的是,該方法已執行完畢。

3.5 Drop frame

點選該按鈕後,你將返回到當前方法的呼叫處(如上圖,程式會回到main()中)重新執行,並且所有上下文變數的值也回到那個時候。只要呼叫鏈中還有上級方法,可以跳到其中的任何一個方法。

4. 高階除錯

4.1 跨斷點除錯

設定多個斷點,開啟除錯。

想移動到下一個斷點,點選如下圖:

程式將執行一個斷點到下一個斷點之間需要執行的程式碼。如果後面程式碼沒有斷點,再次點選該按鈕將會執行完程式。

4.2 檢視斷點

點選箭頭指向的按鈕,可以檢視你曾經設定過的斷點並可設定斷點的一些屬性。

箭頭1指向的是你曾經設定過的斷點,箭頭2可以設定條件斷點(滿足某個條件的時候,暫停程式的執行,如 c==97)。結束除錯後,應該在箭頭1處把所設的斷點刪除(選擇要刪除的斷點後,點選上方的紅色減號)。

4.3 設定變數值

除錯開始後,在紅箭頭指向的區域可以給指定的變數賦值(滑鼠左鍵選擇變數,右鍵彈出選單選擇setValue...)。這個功能可以更加快速的檢測你的條件語句和迴圈語句。

alt+f8 debug時選中檢視值 f8相當於eclipse的f6跳到下一步 shift+f8相當於eclipse的f8跳到下一個斷點,也相當於eclipse的f7跳出函式 f7相當於eclipse的f5就是進入到程式碼 alt+shift+f7這個是強制進入程式碼 ctrl+shift+f9 debug執行java類 ctrl+shift+f10正常執行java類

command+f2停止執行

相關推薦

Android Studio除錯功能使用總結

這段時間一直在使用Intellij IDEA, 今天把除錯區工具的使用方法記錄於此。 先編譯好要除錯的程式。 1.設定斷點 選定要設定斷點的程式碼行,在行號的區域後面單擊滑鼠左鍵即可。 2.開啟除錯會話 點選紅色箭頭指向的小蟲子,開始進入除錯。

用戶空間與內核空間,進程上下文與中斷上下文[總結]

存儲器 com ont article 模式 tab 用戶代碼 ssi 而在 轉自:http://blog.csdn.net/lizuobin2/article/details/51791863 本文轉載自:http://www.cnblogs.com/Anker/p/3

Git常用命令總結

mda 同時 owa rem resolve fff gin spl 包含 轉自:http://www.cnblogs.com/mengdd/p/4153773.html 查看、添加、提交、刪除、找回,重置修改文件 git help <command> #

C#高級編程六十六天----表達式樹總結

reac ins method 有一個 創建 exc environ 開始 定義變量 https://blog.csdn.net/shanyongxu/article/details/47257139 表達式樹總結 基礎 表達式樹提供了一個將可執行代碼轉換成數據

11條最全面的C/C++編碼規範總結

(轉自:https://blog.csdn.net/zang141588761/article/details/50608736) 對於不同的程式語言來說,具體的編碼規範可以有很大的不同,但是其宗旨都是一致的,就是保證程式碼在高質量完成需求的同時具備良好的可讀性、可維護性。例如我們可以

C++中STL用法總結

(轉自:https://blog.csdn.net/piaoxuezhong/article/details/54348787?utm_source=blogxgwz8) 1.1 什麼是STL? STL(Standard Template Library),即標準模板庫,是一個具有工業強度的

C++ vector型別要點總結

(轉自:https://blog.csdn.net/suool/article/details/13295439?utm_source=blogxgwz22)   概述 C++內建的陣列支援容器的機制,但是它不支援容器抽象的語義。要解決此問題我們自己實現這樣的類。在標準C++中

高通平臺讀寫nv總結

本文轉載自:https://blog.csdn.net/suofeng12345/article/details/52713993 一,引言      1. 什麼是NV      &nbs

Android弱網通訊探究

轉自 https://blog.dreamtobe.cn/2016/08/16/android_weak_network/ I. 微信心跳機制 其中的有考慮到如何讓手機更省電,因此有與Android的alarm對齊喚醒的處理(可以參見已經開源的mars的smart_heartbe

PHP操作Redis常用技巧總結

一、Redis連線與認證 1 //連線引數:ip、埠、連線超時時間,連線成功返回true,否則返回false 2 $ret = $redis->connect('127.0.0.1', 6379, 30); 3 //密碼認證:成功返回true,否則返回false 4 $ret = $redis-

strerror函式的總結

本文轉載自:https://www.cnblogs.com/xrcun/p/3210889.html 定義函式:char * strerror(int errnum); 函式說明:strerror()用來依引數errnum 的錯誤程式碼來查詢其錯誤原因的描述字串, 然後將該字串指標返回. 返回值:返

Redis資料"丟失"討論及規避和解決的幾點總結

轉自 https://blog.csdn.net/shangyuanlang/article/details/81297970 Redis大部分應用場景是純快取服務,請求後端有Primary Storage的元件,如MySQL,HBase;請求Redis的鍵未命中,會從primary Sto

spring web.xml 難點配置總結

web.xml web.xml是所有web專案的根源,沒有它,任何web專案都啟動不了,所以有必要了解相關的配置. ContextLoderListener,ContextLoaderServlet,DispatcherServlet 區別 web.xml中可以

dmesg 總結

在dmesg裡我們可以檢視到開機資訊,printk產生的資訊等。若研究核心程式碼,在程式碼中插入printk函式,然後通過dmesg觀察是一個很好地方法。 2.dmesg輸出含義 dmesg 輸出的數字含義是什麼,糾結了一會兒,下面給出解釋 終端輸入dmes

android app 弱網測試

轉自:https://www.jianshu.com/p/7e048b551b2d 模擬手機/裝置WIFI的弱網測試,步驟如下: 新建wifi熱點,手機等裝置,連線wifi熱點 這裡介紹做法,電腦上通過雙網絡卡的方式自行搭建一個wifi熱點,讓手機直接連線這個熱點。將網路模擬工具在PC上

Linux驅動開發除錯 -- 開啟dev_dbg()

本文轉載自:https://blog.csdn.net/kunkliu/article/details/78048618 轉載地址:http://blog.chinaunix.net/uid-22841689-id-3924244.html 一、列印除錯   &nbs

Android燈光系統框架分析

本文轉載自: 首先別人的APP要能直接訪問到你寫的硬體或者不經過任何修改的APP能直接使用你的驅動,就需要使用系統自帶的JNI,所以我們需要寫出符合系統自帶JNI檔案的HAL檔案和驅動程式,下面具體分析一個這個HAL和驅動程式需要實現什麼。燈光系統由以下四個檔案組成APP:電池燈APP,通知燈APP,背光燈

Android燈光系統通知燈

本文轉載自:https://blog.csdn.net/danwuxie/article/details/82193880 一、通知燈應用程式的編寫1、首先實現一個按鈕功能<LinearLayout xmlns:android="http://schemas.android.com/apk/res/a

android 系統 不深度休眠

本文轉載自:https://blog.csdn.net/fmc088/article/details/80401405 1.分析解析      android系統有earlysuspend和suspend兩種休眠,earlysuspend是淺度睡眠,suspend是深度休眠。這