问题描述
- 注释掉printf语句程序出现段错误
-
最近在Linux下开发一个软件,为了调试方便加入了printf语句输出相关变量的值,开发完成后软件运行很正常,可当我把printf语句注释掉后再运行软件却总是出现segment fault,若把printf语句加上又能正常运行,按理说注释掉printf语句不应该会引起此类错误呀,搞得我一头雾水,还望大神们指点迷津
解决方案
可能你注释的时候没有注意括号和if语句
解决方案二:
这个不应该是printf引起的,看是不是注释了影响了代码的处理逻辑等
解决方案三:
把其他代码注释掉了吧
解决方案四:
做这个调试的时候 最好在printf前后部分加上预编译
#ifdefine debug=1
printf(">>>>>>>>")
#endif
程序写完这后直接不定义这个debug就好。可能我写的不对 但是方法是这样啊
解决方案五:
printf语句的参数也可以是表达式,换句话说,printf语句也可以修改(全局/本地)变量的值,我不认为是printf语句本身的问题,应该是你的printf语句修改了某些数据,类似全局本地变量之类的。 其实你可以贴出来你注释掉的printf语句来看看。
解决方案六:
可以用一个延时代替printf试试,一般加不加printf也就多一会延时。
时间: 2025-01-01 14:48:05