C++ linux简单编译调试问题

FoxOnWeb 2008-12-12 10:20:46
看到如下代码文件:

#define DBG(a)

...

之后文件中有:
DBG( ("Buffer=%s\r\n", buffer ) );

肯定是调试用的,

请问用g++编译,加什么选项,可以把DBG想打印的字串打出来?

...全文
116 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bobye1230 2008-12-12
  • 打赏
  • 举报
回复
up2楼...
FoxOnWeb 2008-12-12
  • 打赏
  • 举报
回复
是的,

md被这段烂代码调戏了。
好久没在linux上调试,还以为它用了什么高级debug技术。


[Quote=引用 5 楼 wfdada 的回复:]
如果他有注释掉的 #define DBG(a) printf a 之类的宏 ,那就把注释去掉,转而把#define DBG(a) 注释掉就可以了,
不用修改Makefile,重新编译一下就可以了.
[/Quote]
wfdada 2008-12-12
  • 打赏
  • 举报
回复
如果他有注释掉的 #define DBG(a) printf a 之类的宏 ,那就把注释去掉,转而把#define DBG(a) 注释掉就可以了,
不用修改Makefile,重新编译一下就可以了.
帅得不敢出门 2008-12-12
  • 打赏
  • 举报
回复
用gdb print
FoxOnWeb 2008-12-12
  • 打赏
  • 举报
回复
哦,有道理,他是有一个 #define DBG(a) printf a 之类的宏,注释掉了,可能是因为发布。
怎么‘在编译的时候把 打开 #define DBG(a) vprintf(...)... 的宏加到 Makefile里’ ?
谢谢


[Quote=引用 2 楼 wfdada 的回复:]
我觉得不是 g++编译选项,而是#define DBG(a) 中,肯定在其他地方还有#define DBG(a) 其他的,可能是类似:
#define DBG(a) vprintf(...)...之类的,你可以再找找.
然后在编译的时候把 打开 #define DBG(a) vprintf(...)... 的宏加到 Makefile里就可以了.
#define DBG(a) 这句话的意思就是不打印输出信息.
[/Quote]
wfdada 2008-12-12
  • 打赏
  • 举报
回复
我觉得不是 g++编译选项,而是#define DBG(a) 中,肯定在其他地方还有#define DBG(a) 其他的,可能是类似:
#define DBG(a) vprintf(...)...之类的,你可以再找找.
然后在编译的时候把 打开 #define DBG(a) vprintf(...)... 的宏加到 Makefile里就可以了.
#define DBG(a) 这句话的意思就是不打印输出信息.
FoxOnWeb 2008-12-12
  • 打赏
  • 举报
回复
up

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧