嵌入式调试方法:网络
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)去掉了,下次须要时还能够经过从新编译找回来。