1.增長系統日誌消息緩衝最大數量網絡
在使用printk的時候,常常會碰到已經加了打印語句,可是終端上卻並無顯示出來信息這種狀況,緣由是系統默認的緩衝大小有限,而打印信息又比較多,從而致使後面的打印信息覆蓋了前面的信息,形成打印丟失。app
解決方法是修改base中的LW_CFG_MAX_LOGMSGS這個宏,系統默認的值是20,其所在的文件路徑爲「libsylixos/SylixOS/config/system/system_cfg.h」,以下圖所示:函數
2.printk輸出定向到文件調試
本操做主要用於x86平臺驅動調試,由於x86平臺主板通常沒有串口輸出,printk的信息是輸出到屏幕的,當有大量調試信息時,經過屏幕不能查看完整的調試信息,這時能夠將printk的信息輸出到文件中,而後查看,方法以下所示:日誌
int log_init (void)同步
{it
int fd;登錄
int width;file
fd_set fdset;終端
fd = open("/apps/log1.txt", O_RDWR | O_CREAT | O_TRUNC);
if (fd < 0) {
printf("open /apps/log1.txt fail\n");
return -1;
}
logFdGet(&width, &fdset);
FD_SET(fd, &fdset);
logFdSet(max(fd,width)+1, &fdset);
return 0;
}
只要在驅動初始化的時候調用上面函數,就能夠將調試信息記錄到log1.txt中。
2.printk輸出輸出到網絡終端
a.telnet登陸到系統;
b.輸入files命令查看當前系統打開的文件描述符,以下圖所示:
c.查看/dev/pty/xx.hst對應的fd,如上圖中是12;
d.輸入logfileadd 12;
e.在驅動中使用printk輸出的信息就會同步輸出到網絡終端上;