【recovery】android使用串列埠列印recovery除錯日誌
1、應用背景:
除錯android recovery時,由於recovery預設的日誌是儲存到/cache相關資料夾下的檔案中的,所以每次只能在升級完成後重啟系統後才能看到相關的除錯日誌資訊,這對除錯帶來很大的不變,如有的時候recovery操作失敗導致系統無法啟動時,無法看到相關的日誌,因此這時候可以使用本文中提供的方法將相關日誌從除錯串列埠輸出,直接用串列埠在升級過程中檢視日誌。
2、實現思路
實現思路比較簡單,就是將原來列印日誌的函式封裝,然後需要時直接將日誌從串列埠輸出;
3、程式碼實現
(1)、日誌輸出
將寫日誌的函式直接放到一個獨立的標頭檔案中,這樣需要用的檔案直接包含這個標頭檔案就行了。如下為本文中提供的標頭檔案原始碼:
#ifndef _LANDSEM_RECOVERY_LOG_H
#define _LANDSEM_RECOVERY_LOG_H
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdarg.h>
#define USE_UART_DEBUG 0
#if USE_UART_DEBUG
#define DEBUG_UART_PORT "/dev/ttyS0"
#endif
static int landsem_dbg_log(const char *fmt, ...) {
int ret;
va_list ap;
va_start(ap, fmt);
#if USE_UART_DEBUG
FILE *tty_out = fopen(DEBUG_UART_PORT, "w+");
if(NULL != tty_out) {
ret = vfprintf(tty_out, fmt, ap);
fclose(tty_out);
tty_out = NULL;
}
else {
ret = vfprintf(stdout, fmt, ap);
}
#else
ret = vfprintf(stdout, fmt, ap);
#endif
va_end(ap);
return ret;
}
#endif
需要從串列埠輸出除錯日誌時僅僅需要開啟巨集定義USE_UART_DEBUG即可,關閉時輸出到stdout中。(2)、修改呼叫
替換需要輸出日誌的地方的程式碼,直接使用上面標頭檔案中的方法列印除錯日誌即可。
相關文章
- J-LINK RTT列印除錯,釋放串列埠資源除錯串列埠
- win10 如何除錯串列埠_win10串列埠除錯怎麼除錯Win10除錯串列埠
- gdbserver連線Ubuntu除錯程式(使用串列埠)ServerUbuntu除錯串列埠
- serial for mac 串列埠除錯工具Mac串列埠除錯
- linux串列埠命令列除錯Linux串列埠命令列除錯
- Android 關機、重啟、recovery流程分析Android
- 沒有真實串列埠裝置時使用"虛擬串列埠驅動"除錯你的串列埠程式碼串列埠除錯
- recovery資料夾可以刪除嗎 win10的recovery資料夾有什麼用Win10
- Rockchip RK3588 - Rockchip Linux Recovery recovery原始碼分析Linux原始碼
- 嵌入式系統除錯Uboot串列埠互動除錯除錯boot串列埠
- 樹莓派已經通過網路連線通過串列埠通訊在串列埠除錯小助手列印與操作樹莓派串列埠除錯
- 虛擬串列埠工具和串列埠除錯工具詳解 - 附下載地址串列埠除錯
- 【linux學習--工具篇】串列埠除錯工具Linux串列埠除錯
- 超好用的繪圖串列埠除錯助手繪圖串列埠除錯
- 【Spring】日誌列印sql,日誌配置列印sqlSpringSQL
- java日誌列印使用指南Java
- python logger 列印日誌錯誤行數Python
- 日誌列印
- node inspect chrome日誌除錯Chrome除錯
- 手機刷TWRP Recovery
- 關閉Druid中某些錯誤日誌列印UI
- 如何進入Android系統的Bootloader和Recovery環境Androidboot
- Android 串列埠通訊Android串列埠
- win10 recovery資料夾可以刪除嗎_Win10系統盤的recovery資料夾有什麼用Win10
- Android進階:一、日誌列印和儲存策略Android
- The Db2 Recovery History FileDB2
- SQL Server進行Crash RecoverySQLServer
- 安卓資料恢復工具:Mac FoneLab Android Data Recovery for Mac安卓資料恢復MacAndroid
- serial for mac(串列埠除錯工具) v2.0.16啟用版Mac串列埠除錯
- Xamarin.Forms-手機串列埠除錯程式開發文件ORM串列埠除錯
- 一款小而美的線上串列埠除錯工具串列埠除錯
- 日誌--列印規範
- Log 工具列印日誌
- Unity——日誌列印工具Unity
- ORA-01153: an incompatible media recovery is active
- MySQL crash recovery恢復慢分析MySql
- Android使用cmake編譯串列埠通訊.so檔案報錯cannot locate symbol "tcgetattr"Android編譯串列埠Symbol
- STM32 串列埠列印 NaN的原因分析!!!串列埠NaN
- PostgreSQL DBA(29) - Backup&Recovery#2(日期格式導致的錯誤)SQL