我代码里面怎么判断他?
11 个解决方案
#1
好怪异的需求,楼主要干什么啊?
#2
我就是想知道 是否为调试版本 如果是调试版本
在程序运行的时候我就打印日志信息,如果不是调试版本,我就不打印日志信息!
在程序运行的时候我就打印日志信息,如果不是调试版本,我就不打印日志信息!
#3
额,楼主有想法。
一般是这样做的
编译时加-D__DEBUG就打印信息,不加就不打印。
一般是这样做的
#ifdef __DEBUG
printf.......
#endif
编译时加-D__DEBUG就打印信息,不加就不打印。
#4
你用objdump -h 看看编译出来的elf文件
-g的会比不带-g的多一些debug段
-g的会比不带-g的多一些debug段
#5
file program, 看non-striped没有
#6
我一般是看编译过程有没有-g选项。
#7
一般都是这样做的吧
#8
学习了
#9
太狠了,我都没这样做过
#10
一般都是编译时做判断
如果非得判断-g,只能查debug段
linux下可以使用readelf
如果非得判断-g,只能查debug段
linux下可以使用readelf
#11
如果是编译时确定的话7楼是通常的方法。简单有效。
如果想要自动判断编译后的二进制文件的话做出相应动作的话,可以写个脚本。
用objdump和readelf之类的工具查看文件,然后通过管道用grep之类的过滤器过滤下,根据grep给出的信息在脚本里自动判断有无debug段,然后再做相应的事情。。。
这样可以做到自动化。
如果想要自动判断编译后的二进制文件的话做出相应动作的话,可以写个脚本。
用objdump和readelf之类的工具查看文件,然后通过管道用grep之类的过滤器过滤下,根据grep给出的信息在脚本里自动判断有无debug段,然后再做相应的事情。。。
这样可以做到自动化。
#1
好怪异的需求,楼主要干什么啊?
#2
我就是想知道 是否为调试版本 如果是调试版本
在程序运行的时候我就打印日志信息,如果不是调试版本,我就不打印日志信息!
在程序运行的时候我就打印日志信息,如果不是调试版本,我就不打印日志信息!
#3
额,楼主有想法。
一般是这样做的
编译时加-D__DEBUG就打印信息,不加就不打印。
一般是这样做的
#ifdef __DEBUG
printf.......
#endif
编译时加-D__DEBUG就打印信息,不加就不打印。
#4
你用objdump -h 看看编译出来的elf文件
-g的会比不带-g的多一些debug段
-g的会比不带-g的多一些debug段
#5
file program, 看non-striped没有
#6
我一般是看编译过程有没有-g选项。
#7
一般都是这样做的吧
#8
学习了
#9
太狠了,我都没这样做过
#10
一般都是编译时做判断
如果非得判断-g,只能查debug段
linux下可以使用readelf
如果非得判断-g,只能查debug段
linux下可以使用readelf
#11
如果是编译时确定的话7楼是通常的方法。简单有效。
如果想要自动判断编译后的二进制文件的话做出相应动作的话,可以写个脚本。
用objdump和readelf之类的工具查看文件,然后通过管道用grep之类的过滤器过滤下,根据grep给出的信息在脚本里自动判断有无debug段,然后再做相应的事情。。。
这样可以做到自动化。
如果想要自动判断编译后的二进制文件的话做出相应动作的话,可以写个脚本。
用objdump和readelf之类的工具查看文件,然后通过管道用grep之类的过滤器过滤下,根据grep给出的信息在脚本里自动判断有无debug段,然后再做相应的事情。。。
这样可以做到自动化。