Need a tool to detect memory leaks in C code

10,691

Solution 1

Depending on the platform (you don't mention it) Valgrind is fantastic on Linux systems. It has no GUI, but doesn't need one.

Just run valgrind <path to your application + arguments> and it will run your application and spit out any errors during memory operations.

Add the --leak-check=full and --show-reachable=yes options after valgrind to get stack-traces of where your memory leaks originate.

Solution 2

Purify is a great application for this.

Solution 3

There's a gui for analyzing valgrind results: http://alleyoop.sourceforge.net/. Besides, there's (non-free) purify which is great, and i believe there's a trial. It has a GUI.


Solution 4

On Windows, HeapMon may be of some interest, although it does not explicitly tell you where are your leaks.

Share:
10,691
sbsp
Author by

sbsp

Updated on June 28, 2022

Comments

  • sbsp
    sbsp almost 2 years

    Is there a good application (that has some kind of gui) for testing memory leaks in c code. I would really like to test my assignment/programme but being very new to this, i struggle with using the terminal to do things, especially using gdb for debugging (to me it feels like a blast from the past, where i could be using some visual debugger).

    Thanks for the help

    edit: platform doesn't matter - i am running everything ;)

  • ptomato
    ptomato about 14 years
    "It has no GUI, but doesn't need one" -- I beg to differ, especially since the OP specifically confessed to being uncomfortable with the command line. That said, valgrind's the best tool I know of.
  • sbsp
    sbsp about 14 years
    i can manage the command line if i no what i am typing i suppose, as long as the commands are not to taxing. I struggle with doing lots of terminal stuff, but if its minimal commands and i can just read the output then that should be ok i guess?
  • GManNickG
    GManNickG about 14 years
    @sbsp: Once you see the kind of detail val-grind produces, you won't mind. :) (It's awesome.)
  • Andy Shellam
    Andy Shellam about 14 years
    @ptomato - I've been using Valgrind for about 3 years, and the only two options I know (and need) are those two I gave in my answer. If the OP has at least managed to use GDB (which by the sound of it, they have) then Valgrind will be a piece of cake. I actually use Valgrind for debugging some times :)
  • Šimon Tóth
    Šimon Tóth about 14 years
    If you are using Eclipse, then valgrind can be integrated into the IDE using the Linux Tools module (eclipse.org/linuxtools).
  • Andy Shellam
    Andy Shellam about 14 years
    @Let_Me_Be - ooh, great tip! +1