免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2538 | 回复: 8

[C] 如何锁定 malloc 分配出的内存 [复制链接]

论坛徽章:
1
2015亚冠之迪拜阿赫利
日期:2015-11-03 10:08:57
发表于 2014-11-05 17:04 |显示全部楼层
为客户提供了两个库,库中包括一些借口,在客户的环境下把自己提供的所有接口都测了一遍,发现没有问题。
但是跑上客户的程序之后就会出现栈崩溃的现象。客户的代码不让看,现在怀疑是客户在处理数据的时候越界了。现在想知道是不是客户的程序访问了我们的栈,导致了程序崩溃!
对于这种现象,各位大神有没有高招???

求职 : 机器学习
论坛徽章:
79
2015年亚洲杯纪念徽章
日期:2015-05-06 19:18:572015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之阿尔纳斯尔
日期:2015-09-07 09:30:232015亚冠之萨济拖拉机
日期:2015-10-21 08:26:3915-16赛季CBA联赛之浙江
日期:2015-12-30 09:59:1815-16赛季CBA联赛之浙江
日期:2016-01-10 12:35:21技术图书徽章
日期:2016-01-15 11:07:2015-16赛季CBA联赛之新疆
日期:2016-02-24 13:46:0215-16赛季CBA联赛之吉林
日期:2016-06-26 01:07:172015-2016NBA季后赛纪念章
日期:2016-06-28 17:44:45黑曼巴
日期:2016-06-28 17:44:4515-16赛季CBA联赛之浙江
日期:2017-07-18 13:41:54
发表于 2014-11-05 18:57 |显示全部楼层
我不知道,但是还是很好奇,顶一下!

论坛徽章:
14
水瓶座
日期:2014-06-10 09:51:0215-16赛季CBA联赛之江苏
日期:2017-11-27 11:42:3515-16赛季CBA联赛之八一
日期:2017-04-12 14:26:2815-16赛季CBA联赛之吉林
日期:2016-08-20 10:43:1215-16赛季CBA联赛之广夏
日期:2016-06-23 09:53:58程序设计版块每日发帖之星
日期:2016-02-11 06:20:00程序设计版块每日发帖之星
日期:2016-02-09 06:20:0015-16赛季CBA联赛之上海
日期:2015-12-25 16:40:3515-16赛季CBA联赛之广夏
日期:2015-12-22 09:39:36程序设计版块每日发帖之星
日期:2015-08-24 06:20:002015亚冠之德黑兰石油
日期:2015-08-07 09:57:302015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-11-06 10:25 |显示全部楼层
http://www.ibm.com/developerwork ... gccstack/index.html

GCC有选项,不过因为MIPS的cross compiler不支持,所以也没有深入使用过,可以试试

论坛徽章:
0
发表于 2014-11-06 16:53 |显示全部楼层
调用客户接口前后加上些打印,先定位一下你怀疑的是否正确!回复 1# net小伙


   

论坛徽章:
0
发表于 2014-11-06 17:45 |显示全部楼层
很好的资料,感谢分享;
有汇编方面的学习资料吗,分享一下,不胜感激啊!回复 3# lxyscls


   

论坛徽章:
1
2015亚冠之迪拜阿赫利
日期:2015-11-03 10:08:57
发表于 2014-11-06 20:00 |显示全部楼层
回复 4# BigGame_2008
是这样的,我们提供的接口,客户来调用,而客户的代码是涉密的,我们看不了,他们只给了一个可执行程序,所以一些打印信息只能加到库里,现在是我们专门写了一个测试程序调我们自己的接口,程序跑了一个周末都没问题,只要一执行客户的程序,跑一会就会段错误。

   

论坛徽章:
1
2015亚冠之迪拜阿赫利
日期:2015-11-03 10:08:57
发表于 2014-11-06 20:59 |显示全部楼层
回复 3# lxyscls

多谢了,我努力研究研究吧!
   

论坛徽章:
14
水瓶座
日期:2014-06-10 09:51:0215-16赛季CBA联赛之江苏
日期:2017-11-27 11:42:3515-16赛季CBA联赛之八一
日期:2017-04-12 14:26:2815-16赛季CBA联赛之吉林
日期:2016-08-20 10:43:1215-16赛季CBA联赛之广夏
日期:2016-06-23 09:53:58程序设计版块每日发帖之星
日期:2016-02-11 06:20:00程序设计版块每日发帖之星
日期:2016-02-09 06:20:0015-16赛季CBA联赛之上海
日期:2015-12-25 16:40:3515-16赛季CBA联赛之广夏
日期:2015-12-22 09:39:36程序设计版块每日发帖之星
日期:2015-08-24 06:20:002015亚冠之德黑兰石油
日期:2015-08-07 09:57:302015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-11-07 10:05 |显示全部楼层
BigGame_2008 发表于 2014-11-06 17:45
很好的资料,感谢分享;
有汇编方面的学习资料吗,分享一下,不胜感激啊!回复 3# lxyscls


没了,我只是想起有这么个选项,搜出来的

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
发表于 2014-11-07 10:20 |显示全部楼层
自已写个_malloc和_free, 用来代替自已的库的中所有malloc, 这个新的_malloc多分配点内存, 写入一定识别内容, _free时看识别内存是不是被更改。
此外, 最少要说linux还是windows吧?
如果是windows, 你的malloc的东西不是由你而是由用户来free(当然就是linux下也不要这么做), 则Debug/Rease不一样时free会自动崩;这种情况下只要提供一个freeobject接口当用户调用它而不是直接free就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP