内存泄露如何检测

科多兽 2010-09-12 10:17:13
程序运行的时候内存飕飕的往上飙,直接看代码又没有发现很显性的那种new完之后没有delete的地方,这个时候需要做怎么检测?
...全文
480 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
marklr 2011-03-01
  • 打赏
  • 举报
回复
那有什么好工具可以支持BCB6检测内存泄露?
dolphin1030 2010-09-14
  • 打赏
  • 举报
回复
学习下
科多兽 2010-09-13
  • 打赏
  • 举报
回复
今天在现场调试下,貌似第一次有生成那个*.erl(后来被我删除了,可能后缀名有误)格式的文件,然后看下,发现有有几个错误,不过是ADOConnection Open()错误。之后没有办法,屏蔽了一些代码,找出了那个位置,是插入Map和清空Map引起的,后来使用了前人写的测试过的带锁的TStringList列表类。
coolspac 2010-09-13
  • 打赏
  • 举报
回复
eurekalog,如果没记错的话,检测内存泄露只能对于delphi而言,bcb不支持
ggt87125 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ccrun 的回复:]
CodeGuard不好用,给出的调试信息也很模糊,推荐使用更专业的调试工具:

EurekaLog 是集成在 Delphi, C++Builder, Visual Studio 等 IDE 下的辅助工具,能快速生成带 Error Report 功能的应用程序。能将错误报告发送到指定邮箱、服务器、记录在本地文件中等。其报告可具体指出出错的代码行,以及机器当前信息、寄存器信息等诸多重要诊断信息。新……
[/Quote]

EurekaLog 安装后为什么 检测内存泄露的部分是灰色的呢 不能选择
ccrun.com 2010-09-12
  • 打赏
  • 举报
回复
CodeGuard不好用,给出的调试信息也很模糊,推荐使用更专业的调试工具:

EurekaLog 是集成在 Delphi, C++Builder, Visual Studio 等 IDE 下的辅助工具,能快速生成带 Error Report 功能的应用程序。能将错误报告发送到指定邮箱、服务器、记录在本地文件中等。其报告可具体指出出错的代码行,以及机器当前信息、寄存器信息等诸多重要诊断信息。新版还支持内存泄露检测。
http://www.ccrun.com/view.asp?id=128

Raize Codesite 的主要目的是帮助开发者们查找其代码中的问题。CodeSite 的主要功能是可以让开发者使用代码来发送运行时的详细信息到特殊的接收器。更精确的说,通过 CodeSite 实现的 TCodeSite 类,我们可以打包并发送运行时的信息给 CodeSite Dispatcher(CodeSite 的消息分发器),它可以路由这些消息到一个或多个接收器来察看。缺省的信息接收器是 CodeSite Viewer(消息察看器)。CodeSite 的效率体现在它不同于简单的显示消息的对话框或设定断点来检查变量,它的消息是可持续的,也就是可以保存的。生成的发送到目的地的消息的日志将为你找出代码中的问题提供相当有用的的信息。此外,在使用对话框和断点的时候,发出 Codesite 信息并不中断你的应用程序,因此,Codesite 在用户需要跟踪记录交互内容的场合里效率是十分高的。
http://www.ccrun.com/view.asp?id=351
xuzhu3000 2010-09-12
  • 打赏
  • 举报
回复
标记
我来看看CB 2010-09-12
  • 打赏
  • 举报
回复
一般的地方可以查到
周药师 2010-09-12
  • 打赏
  • 举报
回复
用自带的CodeGuard工具
Project->Options->CodeGuard,将CheckBox打钩。
程序如果在IDE里运行,出现内存泄漏或者非法访问内存时,就会报错。
如果不在IDE里运行,CodeGuard第一次发现错误时,会弹出一个错误信息(
以后就不弹出了)。程序结束后,会产生一个*.cgl文件,用记事本(Notepad.exe)
打开,就可以看到出错的地方了(里面会标明哪个cpp的哪一行)。
科多兽 2010-09-12
  • 打赏
  • 举报
回复
明天去现场运行下,好好的调试下这个程序,已经将CodeGuard给设置起来了,打算再用下妖哥推荐的2款调试工具。
sue3140 2010-09-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ccrun 的回复:]
CodeGuard不好用,给出的调试信息也很模糊,推荐使用更专业的调试工具:

EurekaLog 是集成在 Delphi, C++Builder, Visual Studio 等 IDE 下的辅助工具,能快速生成带 Error Report 功能的应用程序。能将错误报告发送到指定邮箱、服务器、记录在本地文件中等。其报告可具体指出出错的代码行,以及机器当前信息、寄存器信息等诸多重要诊断信息。新……
[/Quote]
hehe 妖哥很详细的撒。。。
iqyely 2010-09-12
  • 打赏
  • 举报
回复
不过现在用EurekaLog发的邮件基本都发布出去。

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧