社区
高通开发者论坛
帖子详情
0xC0000005: 读取位置 0x61636970 时发生访问冲突
dc212009
2010-03-25 09:36:48
跟踪代码,发现时分配内存时出现这个错误。
void *ptr = MALLOC(size);
就是这行出错了。 size > 0
请问这是什么原因啊。
...全文
1854
12
打赏
收藏
0xC0000005: 读取位置 0x61636970 时发生访问冲突
跟踪代码,发现时分配内存时出现这个错误。 void *ptr = MALLOC(size); 就是这行出错了。 size > 0 请问这是什么原因啊。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dc212009
2010-03-26
打赏
举报
回复
[Quote=引用 10 楼 codefly 的回复:]
引用 9 楼 dc212009 的回复:
内存越界要怎么查找比较容易找到问题点呢。
现在跟踪代码,都是在MALLOC这里程序崩掉呢。
如果你的程序不大,可以先搜索在崩溃点之前是否执行了:MEMSET,MEMCPY,STRCPY等可疑函数。需注意每个调用处的dest buffer是否足够大,如果不够大,就可能会有内存越界发生。
[/Quote]
问题找到了,确实是之前的一个STRCPY函数有问题。本来是想要STRNCPY的,写成了STRCPY。
malu_1982
2010-03-26
打赏
举报
回复
TRACE32 断0x0 - 0x3地址。
估计你那个不是内存耗尽导致的, 因为内存耗尽只是分配失败, 不会崩溃的。 呵呵
悠然红茶
2010-03-25
打赏
举报
回复
如果返回NULL,可能因为内存用尽了(比如大量内存泄漏),可能因为BREW找不到一个足够大的堆节点。
如果程序崩掉,可能是其他地方出问题了,比如内存越界,破坏了BREW内部堆节点等等。
你说的“读取位置 0x61636970 时发生访问冲突”,可能是因为后者吧。
visual4825
2010-03-25
打赏
举报
回复
内存泄漏、无可用内存
dc212009
2010-03-25
打赏
举报
回复
在模拟器上设置了一个目录作为存储卡,就不会报这个错了。
然道真是内存不足啊。
dc212009
2010-03-25
打赏
举报
回复
程序主要工作是解析数据。 所有会分配很多内存。
之前分配的内存是还需要使用的,不能释放啊。
然道真的是内存用完了? 模拟器的可用内存释放可用设置啊,
想把内存设大一点看看。
bsr2009
2010-03-25
打赏
举报
回复
简单的说,内存分配失败。是不是你其他地方申请了,不用的时候又不释放内存?
hhygcy
2010-03-25
打赏
举报
回复
估计是内存用完了
可能你在其他地方频繁地使用内存、
悠然红茶
2010-03-25
打赏
举报
回复
[Quote=引用 9 楼 dc212009 的回复:]
内存越界要怎么查找比较容易找到问题点呢。
现在跟踪代码,都是在MALLOC这里程序崩掉呢。[/Quote]
如果你的程序不大,可以先搜索在崩溃点之前是否执行了:MEMSET,MEMCPY,STRCPY等可疑函数。需注意每个调用处的dest buffer是否足够大,如果不够大,就可能会有内存越界发生。
dc212009
2010-03-25
打赏
举报
回复
[Quote=引用 7 楼 sxcnfly 的回复:]
引用 6 楼 codefly 的回复:
如果返回NULL,可能因为内存用尽了(比如大量内存泄漏),可能因为BREW找不到一个足够大的堆节点。
如果程序崩掉,可能是其他地方出问题了,比如内存越界,破坏了BREW内部堆节点等等。
你说的“读取位置 0x61636970 时发生访问冲突”,可能是因为后者吧。
对,应该不是内存耗尽导致的,估计是内存越界了。
[/Quote]
内存越界要怎么查找比较容易找到问题点呢。
现在跟踪代码,都是在MALLOC这里程序崩掉呢。
路飞-总裁
2010-03-25
打赏
举报
回复
模拟器也可以修改内存大小。双击打开DPK,在Details里的General下面有一项Heap Size可以设置堆大小。当然可以先看下模拟器右下角的Mem free是否有空间了。你的这个问题应该是楼上所说的那样啊。
sxcnfly
2010-03-25
打赏
举报
回复
[Quote=引用 6 楼 codefly 的回复:]
如果返回NULL,可能因为内存用尽了(比如大量内存泄漏),可能因为BREW找不到一个足够大的堆节点。
如果程序崩掉,可能是其他地方出问题了,比如内存越界,破坏了BREW内部堆节点等等。
你说的“读取位置 0x61636970 时发生访问冲突”,可能是因为后者吧。
[/Quote]
对,应该不是内存耗尽导致的,估计是内存越界了。
解决报错Xc0000005
解决报错Xc0000005
跨进程注入计算器
想要跨进程
读取
“系统计算器”中的内存数据 安装钩子成功后(在“系统计算器”上摁下HOME键,能顺利弹出窗口),使用内联汇编
读取
内存数据
时
,会报如下错误: **.exe 中的 0x778d15de 处未处理的异常:
0xC0000005
:
读取
位置
0xd61e084d
时
发生
访问
冲突
小弟初学,百思不得其解,还希望各位大神帮忙看下源码,指出错误,谢谢
13.56MHz_14443串口通讯协议1
13.56MHz_14443串口通讯协议1
存储/缓存技术中的STM32处理器存储空间布局解析
一、Cortex-M3支持最大4GB的存储空间,其地址映射关系如下图 二、存储器映射实例:256KB Flash 48KB SRAM IROM1为片上程序存储器,即片上集成的Flash存储器,对该处理器Flash大小为256KB,即0x40000 IRAM1为片上数据存储器,即片上集成的SRAM存储器,对该处理器Flash大小为48KB,即0xC000 片上SRAM的起始地址是0x20000000,这是由Cortex-M3内核决定的,从0x20000000开始的512KB存储空
(xxx.dll)处(位于xxx.exe 中)引发的异常:
0xC0000005
:
读取
位置
0x0000003F
时
发生
访问
冲突
。已解决。
下面两个这种类型的报错都一样。(跟xxx.dll和xxx.exe都没关系) 0x794CECC1 (Qt5Cored.dll)处(位于 xxx.exe 中)引发的异常:
0xC0000005
:
读取
位置
0x0000003F
时
发生
访问
冲突
。 处未处理的异常:
0xC0000005
:
读取
位置
0x00000000
时
发生
访问
冲突
BUG的显示方式: 闪退 最近在用Qt开发一个客户端,但是按了一个按钮后总是闪退,百思不得其解,后来调试看了,然后到了这一步就提示错误。如图(其中m_acToken只是个QS
高通开发者论坛
2,851
社区成员
5,758
社区内容
发帖
与我相关
我的任务
高通开发者论坛
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
复制链接
扫一扫
分享
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能
物联网
机器学习
技术论坛(原bbs)
北京·东城区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章