第十章-嵌入式linux調試技術

 

嵌入式調試方法:網絡

1.模擬器。好比Qtopia Core能夠用奇趣提供的Frame Buffer模擬工具qvfb,ARM硬件模擬能夠用SkyEye開源項目。工具

2.遠程調試。調試器還在PC上,調試器與被調試的程序經過網絡通訊。debug

3.經過LOG和Core Dump等文件過後分析。調試

 

stdprm 標準打印機 LPT1端口cmd

stdaux 標準串行設備 COM1端口編譯

stdin並不必定來自鍵盤,stdout和stderr也並不必定顯示在屏幕上,能夠將它們重定向到其餘設備或磁盤文件上。stream

使用fprintf()時,第一參數推薦使用stderr而不要使用stdout,由於stderr的運行級要高一些,程序在異常退出時stderr能夠輸出,而stdout就不行。file

 

cmd >file 把stdout重定向到file中硬件

cmd >>file 把stdout追加到file中bug

cmd 2>>file 1>&2 把stderr追加到file中,再把stdout追加到stderr中

 

 

在C程序中經過freopen()進行重定向

FILE *freopen(const char *filename,const char mode,FILE *stream)

好比freopen("err.log","w",stderr)就把stderr重定向到err.log文件了

 

控制log的級別

 

好比QT中提供qDebug(),qWarning(),GTK中也有相應的g_debug(),g_error(),內核調試的printk()也提供不少級別。

在編譯時利用QT提供的宏QT_NO_DEBUG_output就能夠將qDebug("var=%d\n",var)去掉了,下次須要時還能夠經過從新編譯找回來。

相關文章
相關標籤/搜索