SylixOS 實現了一個功能強大的調試 stub,可在設備或模擬器上在線調試應用程序,RealEvo-IDE 也提供配套的調試插件。目前 RealEvo-IDE 既支持自動推送調試、也支持傳統的手動啓動 gdbserver 的調試方式。在官方公佈的使用手冊中沒有詳細寫出在平常開發中很是實用的幾種調試方式,咱們經過新建幾個App工程來作相應的演示,主要有代碼靜態分析、代碼覆蓋率檢查、性能分析以及一個實戰案列的演示,本文主要介紹代碼靜態分析調試。數組
代碼靜態分析主要用來檢查野指針、數組越界等問題,咱們創建一個static_check_app,用來作代碼靜態分析的演示,程序清單如程序清單 21所示。安全
程序清單2-1 static_check_app清單app
#include<stdio.h>性能 intmain (intargc, char **argv)spa {插件 charcBuf[10];指針 char *pTemp;調試 int i;server for (i=0; i<=10; i++)blog { cBuf[i] = 0; } printf("out put %s\n", pTemp); return (0); }
|
所用demo程序編譯未報錯,可成功上傳,程序編譯結果如圖 2-1所示,開發人員在開發過程當中常常會出現這類問題,當代碼量較大時,人工覈查工做量太大,準確率也無法獲得保障。在編譯過程當中也不會發現這些錯誤,而這些錯誤會大大下降代碼質量和安全,咱們經過代碼靜態分析能夠有效規避這些問題。
圖 2-1 編譯結果
選中須要調試的工程,這裏選擇「static_check_app」工程,右擊工程選擇「SylixOS Code StaticAnalysis」,點擊「Run CodeStatic Analysis」, 或者使用快捷鍵「Ctrl+Shift+C」,操做如圖 2-2所示。
圖 2-2 操做步驟
運行結果如圖 2-3所示,第11和14行分別顯示數組越界和野指針錯誤。
圖 2-3 靜態代碼分析結果
檢查完成後,選中須要調試的工程,這裏選擇「static_check_app」工程,右擊工程選擇「SylixOS Code Static Analysis」,點擊「ClerMarks」,或者使用快捷鍵「Ctrl+Alt+M」,運行結果如圖 24所示,第11和14行錯誤提示被清除了,爲下次檢查時提供新的材料模板。
圖 2-4 清除錯誤提示信息
在SylixOS中咱們能夠使用多種調試方式進行相關調試,咱們能夠根據實際狀況對程序進行調試,本節主要介紹代碼靜態檢查的具體調試方式,下一節將詳細介紹代碼覆蓋率分析調試。
《SylixOS應用程序開發手冊》
《RealEvo-IDE使用手冊》