www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Tools to help me find memory leaks?

reply Drake44 <sdfsdsdsdf xcasa.com> writes:
I'm on a Windows 7 machine and I'm using VisualD as my IDE. I'm 
trying to work out what's chewing up all the RAM in a program I'm 
writing... is there a tool that I can use that'll show me what in 
my program keeps allocating memory?

Thanks
Aug 23 2017
next sibling parent reply Stefan Koch <uplink.coder googlemail.com> writes:
On Wednesday, 23 August 2017 at 17:30:40 UTC, Drake44 wrote:
 I'm on a Windows 7 machine and I'm using VisualD as my IDE. I'm 
 trying to work out what's chewing up all the RAM in a program 
 I'm writing... is there a tool that I can use that'll show me 
 what in my program keeps allocating memory?

 Thanks
If you are using the gc then compile with -profile=gc. Which will generate a file that logs all gc allocations. On exiting the program normally. So make sure you can exit via a keypress or after a timelimit has passed. If you are using malloc / calloc / free you'll have to use a tool like valgrind.
Aug 23 2017
parent Denis Feklushkin <feklushkin.denis gmail.com> writes:
On Wednesday, 23 August 2017 at 20:52:17 UTC, Stefan Koch wrote:
 On Wednesday, 23 August 2017 at 17:30:40 UTC, Drake44 wrote:
 I'm on a Windows 7 machine and I'm using VisualD as my IDE. 
 I'm trying to work out what's chewing up all the RAM in a 
 program I'm writing... is there a tool that I can use that'll 
 show me what in my program keeps allocating memory?

 Thanks
If you are using the gc then compile with -profile=gc. Which will generate a file that logs all gc allocations.
This will not displays number of deallocations. And problem is usually with the fact that something is allocated but not deallocated by GC for some reason.
 On exiting the program normally.
 So make sure you can exit via a keypress or after a timelimit 
 has passed.

 If you are using malloc / calloc / free
 you'll have to use a tool like valgrind.
Mar 10 2018
prev sibling parent Sebastien Alaiwan <ace17 free.fr> writes:
I always use "valgrind --tool=massif" + "massif-visualizer".
Gives me a nice timeline allowing to find quickly who the big 
memory consumers (allocation sites) are.
Aug 25 2017