Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android系統開發(2)——GDB調試工具

Android系統開發(2)——GDB調試工具

編輯:關於Android編程

調試的過程

我們在eclipse中來看一下一般調試的過程:

1、debug模式編譯

\

2、打上斷點

\

3、運行調試

\

4、單步調試

\

step into:跳到函數體內部

step over:不跳到函數體內

step return:運行完當前函數

5、繼續運行

continue

6、打印和監控值<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD48aDM+R0RCtffK1DwvaDM+PHA+z8jQtNK7ts5Do6ujq7XEtPrC66OstPrC68TayN3I58/Co7o8L3A+PHA+PGltZyBzcmM9"/uploadfile/Collfiles/20140822/2014082208383353.png" alt="\" />

使用debug模式編譯:

\

進入Debug調試模式:

\

1、打斷點,打斷點的方式如下(GDB中的命令可以使用首字母來替代,比如break和b的作用相同)

break 函數名

break 行號

break 文件名:行號

break 行號 if條件

通過info break可以查看斷點,通過delete可以刪除斷點,下面我們使用list命令查看源文件,然後打斷點

\

查看斷點

\

可以看到目前有一個斷點,他的編號為1,在第四行;下面使用方法名打一個斷點

\

2、開始運行(run) ,可以使用continue來繼續向下運行,使用quit退出運行狀態

\

可以看到在運行的時候停到了斷點處

3、單步調試,但步調試分別對應如下三個命令

next------step over

step-----step into

finish-----step return

\

下面我們再來調試一段程序代碼,代碼內容和輸出結果如下:

\

輸出結果為:

\

這段代碼在沒有輸出結果之前有些朋友可能會認為正確結果應該是50.5,下面我們就通過調試來看一下哪裡出了問題

\

可以看到我們在第五行打了一個斷點,當執行到第五行的時候其實該行並未執行,所以此時i的值是一個無效的值。

\

在上面我們使用了watch來觀察變量i當i發生改變後就會顯示i改變後的值,可以看到我們next後變量i的值變為0.01,下面我們使用條件斷點來調試

\

可以看到在i循環到98次的時候實際的值並不是0.98而是比0.98大,我們next到第100次循環可以看到

\

此時條件不滿足i==1,所以只能執行99次循環,結果就是49.5而不是50.5

輸入wi可以方便我們調試



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved