大家项目代码中肯定有
#ifdef XXX_DEBUG
printf(xxxxx);
#endif
原来一直在用vxworks开发,vxworks开发时用来控制打印输出很简单
直接定义就行了
但这种方法在linux下就不行了
你无法直接控制一个正在运行的进程
可以通过间接方式进行控制
比如
funcA()
{
...
signal(USR1,funcB);
...
}
在funcB函数中来进行控制进行输出
要想控制funcA的打印输出,只要向funcA 的进程发送kill USR1 funcA 就行了
以上是一个好的方法,我已经在项目中这样使用,效果还不错
可以改变当前程序运行状态,来得到些打印信息
因为有些随机bug,你系统重启后可能就没了,下次出现不知要到什么时候