主题:Data Abort 共有38412人关注过本帖 |
---|
JJ |
1楼 |
Data Abort Post By:2010-5-9 20:47:00 [只看该作者]
程序突然间出现这个问题:
step2_serial.exe coredll.dll The thread 0xC1B81A06 has exited with code 0 (0x0). Data Abort: Thread=81b7b400 Proc=80d57420 <|>step2_serial.exe<|> AKY=00000101 PC=03fc23dc(coredll.dll+0x000523dc) RA=00000073(???+0x00000073) BVA=feff0100 FSR=00000005 麻烦帮忙下,谢谢 |
|
单帖管理 | 引用 | 回复 |
x10 |
2楼 |
Post By:2010-5-10 8:45:00 [只看该作者]
是稳定规律的出这个问题,还是偶尔?对代码是否有修改?
|
|
单帖管理 | 引用 | 回复 |
JJ |
3楼 |
Post By:2010-5-12 18:06:00 [只看该作者]
问题已解决是,是sprintf的参数问题。
又碰到另外一个问题。 step2_serial.exe coredll.dll The thread 0x81B7EA06 has exited with code 0 (0x0). The thread 0x41B7BDA6 has exited with code 0 (0x0). The thread 0x81BC2FDA has exited with code -2147483645 (0x80000003). The program <|>C:\Documents and Settings\Administrator\桌面\jj\ARMV4IDbg\step2_serial.exe<|> has exited with code -2147483645 (0x80000003). 好像又是sprintf的问题,但不清楚那里有问题。 i2 = sprintf(Printf,"[COM5_%d]%s\r\n", ceSer5.m_lDatLen, tmp); 其中:char Printf[150], char temp[150] 麻烦看下,谢谢 |
|
单帖管理 | 引用 | 回复 |
x10 |
4楼 |
Post By:2010-5-12 18:28:00 [只看该作者]
检查tmp的串长度。C的串必须以<|>\0<|>作为结束标志。
|
|
单帖管理 | 引用 | 回复 |
JJ |
5楼 |
Post By:2010-5-12 20:48:00 [只看该作者]
有时候会出现错误,有时候又不会。
这是为什么 |
|
单帖管理 | 引用 | 回复 |
x10 |
6楼 |
Post By:2010-5-13 8:40:00 [只看该作者]
说明tmp字串有越界的问题。建议复习一下C语言的背景知识。
|
|
单帖管理 | 引用 | 回复 |
JJ |
7楼 |
Post By:2010-5-13 14:41:00 [只看该作者]
tmp中只保存了长度为13的字符串,也会越界?
谢谢 |
|
单帖管理 | 引用 | 回复 |
JJ |
8楼 |
Post By:2010-5-13 14:47:00 [只看该作者]
字符串应该是以<|>\0<|>结尾的吧
|
|
单帖管理 | 引用 | 回复 |
x10 |
9楼 |
Post By:2010-5-13 21:36:00 [只看该作者]
是的,可用strlen检查,如果大于sizeof(tmp),肯定就有问题了。
|
|
单帖管理 | 引用 | 回复 |
雯雯 |
10楼 |
Post By:2010-11-11 17:49:00 [只看该作者]
我的手机开机就出现data,abort 是怎么回事、该怎么解决
|
|
单帖管理 | 引用 | 回复 |
x10 |
11楼 |
Post By:2010-11-11 22:02:00 [只看该作者]
抱歉,我们这是针对英创嵌入式主板应用开发的技术论坛,:-)
|
|
单帖管理 | 引用 | 回复 |