游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2303|回复: 3

请问如何排除内存越界错误?

[复制链接]

65

主题

225

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
发表于 2003-11-8 18:44:00 | 显示全部楼层 |阅读模式
我的程序经常出错,调试时一般中段在new和delete操作上。
我该从哪里开始寻找错误?
我的程序使用DirectPlay和list列表,里面多处使用new和delete。
我找了好几天,也没找到错误。
请各位高手赐教。

另外:如果我运行多个程序,它们之间用DirectPlay联系,
如果其中一个程序内存越界,会影响其它程序吗?
Windows是如何实现new和delete函数的,为什么越界会影响这两个函数?
能不能让我的程序一发生越界现象就立刻中段,
而不是等到越界后,只有使用new和delete函数时才中段。

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2003-11-8 20:06:00 | 显示全部楼层

Re:请问如何排除内存越界错误?

一直以来,指针都是个很危险的东西。。
不过在C++里面,你可以通过重载+,[],->等运算符号来实现一个
smart pointer。

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20468
发表于 2003-11-8 20:22:00 | 显示全部楼层

Re:请问如何排除内存越界错误?

检测错误的方法,可以用穷举,把代码一段一段注释,然后观察哪里存在问题。

程序之间一般不会有影响。

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2003-11-8 20:32:00 | 显示全部楼层

Re:请问如何排除内存越界错误?

建议使用STL,这些常用的数据数据结构都有越界检查的能力。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-24 03:36

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表