debug();这个函数是干什么的?

2019-07-25 12:15发布

看到别人的程序,很多都有:


#ifdef DEBUG   debug(); #endif


但是我看DEBUG和debug()函数都没有定义,这样这句话就永远不执行了。
我想问的是,这样写是不是有什么其他的用处?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
sixear
1楼-- · 2019-07-25 15:46
哦,后边还有:

#ifdef  DEBUG
/*******************************************************************************
* Function Name: assert_failed
* Description : Reports the name of the source file and the source line number
*                  where the assert_param error has occurred.
* Input       : - file: pointer to the source file name
*                  - line: assert_param error line source number
* Output      : None
* Return      : None
*******************************************************************************/
void assert_failed(u8* file, u32 line)

  /* User can add his own implementation to report the file name and line number,
     ex: printf("Wrong parameters value: file %s on line %d ", file, line) */

  /* Infinite loop */
  while (1)
  {
  }
}
#endif
sixear
2楼-- · 2019-07-25 20:28
希望不要再有人给我说这是条件编译了,我知道这是条件编译,只是想知道什么时候会有DEBUG的定义,有DEBUG的定义后,执行debug();这个函数能干什么?
后边这个半截的错误返回程序就不用解释了。
正点原子
3楼-- · 2019-07-25 21:42
回复【楼主位】sixear:
---------------------------------
方便输出调试信息吧.
如果使能debug,你自己可以在debug函数里面输出想要看的debug信息.
wolfdong7
4楼-- · 2019-07-26 01:07
你可以把该代码注释掉。
看过很多高手写的代码。一般都如原子说的调试信息。
#define printf debug
要使用printf这个函数,需要加头文件#include<stdio.h>。然后把stdio.h中的extern char putchar (char);
然后你把char putchar (char)函数,修改成你相应的UARSTx.这样DEBUG出来的调试信息就出现在你相应的UARSTx里。
sixear
5楼-- · 2019-07-26 01:10
 精彩回答 2  元偷偷看……
wlkdy
6楼-- · 2019-07-26 06:46
留了个格式在那里,你应该知足了。

一周热门 更多>