您好,登錄后才能下訂單哦!
SylixOS調試方法的靜態代碼分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
SylixOS 實現了一個功能強大的調試 stub,可在設備或模擬器上在線調試應用程序,RealEvo-IDE 也提供配套的調試插件。目前 RealEvo-IDE 既支持自動推送調試、也支持傳統的手動啟動 gdbserver 的調試方式。在官方公布的使用手冊中沒有詳細寫出在日常開發中非常實用的幾種調試方式,我們通過新建幾個App工程來做相應的演示,主要有代碼靜態分析、代碼覆蓋率檢查、性能分析以及一個實戰案列的演示,本文主要介紹代碼靜態分析調試。
代碼靜態分析主要用來檢查野指針、數組越界等問題,我們建立一個static_check_app,用來做代碼靜態分析的演示,程序清單如程序清單 21所示。
程序清單21 static_check_app清單
#include<stdio.h> intmain (intargc, char **argv) { charcBuf[10]; char *pTemp; int i; for (i=0; i<=10; i++) { cBuf[i] = 0; } printf("out put %s\n", pTemp); return (0); }
|
所用demo程序編譯未報錯,可成功上傳,程序編譯結果如圖 21所示,開發人員在開發過程中經常會出現這類問題,當代碼量較大時,人工核查工作量太大,準確率也沒法得到保障。在編譯過程中也不會發現這些錯誤,而這些錯誤會大大降低代碼質量和安全,我們通過代碼靜態分析可以有效規避這些問題。
圖 21 編譯結果
選中需要調試的工程,這里選擇“static_check_app”工程,右擊工程選擇“SylixOS Code StaticAnalysis”,點擊“Run CodeStatic Analysis”, 或者使用快捷鍵“Ctrl+Shift+C”,操作如圖 22所示。
圖 22 操作步驟
運行結果如圖 23所示,第11和14行分別顯示數組越界和野指針錯誤。
圖 23 靜態代碼分析結果
檢查完成后,選中需要調試的工程,這里選擇“static_check_app”工程,右擊工程選擇“SylixOS Code Static Analysis”,點擊“ClerMarks”,或者使用快捷鍵“Ctrl+Alt+M”,運行結果如圖 24所示,第11和14行錯誤提示被清除了,為下次檢查時提供新的材料模板。
圖 24 清除錯誤提示信息
在SylixOS中我們可以使用多種調試方式進行相關調試,我們可以根據實際情況對程序進行調試。
看完上述內容,你們掌握SylixOS調試方法的靜態代碼分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。