• 第十章-嵌入式linux调试技术


    嵌入式调试方法:

    1.模拟器。比如Qtopia Core可以用奇趣提供的Frame Buffer模拟工具qvfb,ARM硬件模拟可以用SkyEye开源项目。

    2.远程调试。调试器还在PC上,调试器与被调试的程序通过网络通信。

    3.通过LOG和Core Dump等文件事后分析。

    stdprm 标准打印机 LPT1端口

    stdaux 标准串行设备 COM1端口

    stdin并不一定来自键盘,stdout和stderr也并不一定显示在屏幕上,可以将它们重定向到其他设备或磁盘文件上。

    使用fprintf()时,第一参数推荐使用stderr而不要使用stdout,因为stderr的运行级要高一些,程序在异常退出时stderr可以输出,而stdout就不行。

    cmd >file 把stdout重定向到file中

    cmd >>file 把stdout追加到file中

    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 ",var)去掉了,下次需要时还可以通过重新编译找回来。

  • 相关阅读:
    视频直播和实时音视频区别调研
    MySQL5.7 并行复制
    MySQL5.7 并行复制
    SSH 超时设置
    有赞透明多级缓存解决方案(TMC)设计思路
    有赞透明多级缓存解决方案(TMC)设计思路
    spring.net异常处理
    python之for学习
    pyhton小方法
    时间戳处理
  • 原文地址:https://www.cnblogs.com/zhao-xiaohu/p/5635232.html
Copyright © 2020-2023  润新知