你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

sprintf使用的奇怪现象,怀疑for循环控制变量有BUG

[复制链接]
kylongmu 提问时间:2017-7-26 22:44 /
阅读主题, 点击返回1楼
收藏 1 评论38 发布时间:2017-7-26 22:44
38个回答
moyanming2013 回答时间:2017-7-27 11:41:05
anobodykey 发表于 2017-7-27 09:32
楼上正解,你的char * Dbg_QMsg[100]是指针数组,即有100个数组,每个里面都是一个指针,你100的时候Qmsg就 ...

我去,楼主都视而不见7楼和8楼吗!!
这明显是语法问题不是什么bug,sprintf面世的时间可能比楼主年龄都大:
永远先从自身找问题!
me浩 回答时间:2017-7-27 11:47:25
kylongmu 回答时间:2017-7-27 13:15:05
本帖最后由 kylongmu 于 2017-7-27 13:17 编辑
moyanming2013 发表于 2017-7-27 11:41
我去,楼主都视而不见7楼和8楼吗!!
这明显是语法问题不是什么bug,sprintf面世的时间可能比楼主年龄都 ...

看我7楼的回复,改了那个语法错误一样的。前面回复咋被吃掉了,刷新不出来?
moyanming2013 回答时间:2017-7-27 13:59:04
kylongmu 发表于 2017-7-27 00:43
改正语法错误,现象依旧,换代码测试定位问题,
目前测试sprintf的内容没有问题,看来是for循环里的变量i有 ...

1.i是什么类型的?注意最大值越位问题。
2.你这种在for循环里面加if判断Dbg_QMsg数组时,当i为100时就直接死机了!还是你的代码有问题!
QUEUE_MESSAGE_MAX_SIZE也不知道是多少?!
3.确保其它代码无问题?逻辑实现无问题?
通过此前以及现在你的代码看,还是多查找自己的原因,别一上来就说这bug那bug,自己没bug?!
toofree 回答时间:2017-7-27 13:59:22
把你的puts()函数,拉出来遛遛
kylongmu 回答时间:2017-7-27 14:24:37
本帖最后由 kylongmu 于 2017-7-27 14:27 编辑
moyanming2013 发表于 2017-7-27 13:59
1.i是什么类型的?注意最大值越位问题。
2.你这种在for循环里面加if判断Dbg_QMsg数组时,当i为100时就直 ...

1.i是什么类型的?注意最大值越位问题。
uint32_t
2.你这种在for循环里面加if判断Dbg_QMsg数组时,当i为100时就直接死机了!还是你的代码有问题!
QUEUE_MESSAGE_MAX_SIZE也不知道是多少?!
Dbg_QMsg是用来打印的,每次打印的数据远小于100(看代码),都是0地址开始打印
QUEUE_MESSAGE_MAX_SIZE设置为1000
3.确保其它代码无问题?逻辑实现无问题?
我经常会碰到各种BUG,有的能解决,有的能绕过去,但是这个BUG现象会导致代码行为在运行一段时间后不可预知。-------------------------------------------------------------------
同样代码我用VStudio编译测试,根本没有这个现象。
moyanming2013 回答时间:2017-7-27 14:33:10
kylongmu 发表于 2017-7-27 14:24
1.i是什么类型的?注意最大值越位问题。
uint32_t
2.你这种在for循环里面加if判断Dbg_QMsg数组时,当i为10 ...

你碰到bug的几率这么高、这么厉害?!
我建议你赶紧改行,这些行业更赚钱!:
1.找bug也能赚钱!谷歌已奖励了600万美元
http://news.zol.com.cn/566/5668050.html
2.微软BUG奖励计划升级 找BUG最高奖金升至10万美元
http://tech.huanqiu.com/news/2015-08/7212547.html
3.“漏洞之王”一年可以赚多少外快?
http://www.chinaz.com/news/2016/0412/520989.shtml

赚了钱别忘了回来谢我!
kylongmu 回答时间:2017-7-27 14:41:56
本帖最后由 kylongmu 于 2017-7-27 14:44 编辑
moyanming2013 发表于 2017-7-27 14:33
你碰到bug的几率这么高、这么厉害?!
我建议你赶紧改行,这些行业更赚钱!:
1.找bug也能赚钱!谷歌已奖 ...

天气热,技术问题,说的别那么酸爽。
我从51到ti的6678,xilinx,altera,actel,lattice的fpga都做过,mcu也用了很多系列了。做过的usb,pcie的逻辑核与驱动程序。薪水不用你操心了。
uboot里还有我报告的bug修正,mbed上mpu9250的驱动我是第一个贡献源代码,并提供了绕过芯片IIC接口的BUG方法:
http://developer.mbed.org/users ... ba240c1/MPU9250.cpp
moyanming2013 回答时间:2017-7-27 14:47:46
kylongmu 发表于 2017-7-27 14:41
天气热,技术问题,说的别那么酸爽。
我从51到ti的6678,xilinx,altera,actel,lattice的fpga都做过,mc ...

你厉害,做了那么多,可是为什么连指针数组和字符数组都分不清呢?
恩,一定是你的笔误造成的!
kylongmu 回答时间:2017-7-27 14:53:47
moyanming2013 发表于 2017-7-27 14:47
你厉害,做了那么多,可是为什么连指针数组和字符数组都分不清呢?
恩,一定是你的笔误造成的! ...

说了这个现象不是那个问题引起的,已经更正。你这人喜欢抬扛啊!

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版