September 8, 2004

Valgrind 2.2.0 Released

Julian Seward writes "We are pleased to announce a new stable release of Valgrind,
version 2.2.0. It is available from

Valgrind is an award-winning, open-source tool suite for
debugging and profiling x86-Linux programs. With the tools that
come with Valgrind, you can automatically detect many memory
management and threading bugs, avoiding hours of frustrating
bug-hunting, making your programs more stable. You can also
perform detailed time and space profiling to help speed up and
slim down your programs.

2.2.0 brings nine months worth of improvements and bug fixes.
We believe it to be a worthy successor to the previous stable
release, 2.0.0. There are literally hundreds of bug fixes and
minor improvements. There are also some fairly major
user-visible changes:

  • A complete overhaul of handling of system calls and signals,
    and their interaction with threads. In general, the accuracy of
    the system call, thread and signal simulations is much improved:
    • Blocking system calls behave exactly as they do when
      running natively (not on valgrind). That is, if a syscall
      blocks only the calling thread when running natively, than it
      behaves the same on valgrind. No more mysterious hangs
      because V doesn't know that some syscall or other, should
      block only the calling thread.
    • Interrupted syscalls should now give more faithful
    • Signal contexts in signal handlers are supported.
  • Improvements to NPTL support to the extent that V now works
    properly on NPTL-only setups.
  • Greater isolation between Valgrind and the program being
    run, so the program is less likely to inadvertently kill
    Valgrind by doing wild writes.
  • Massif: a new space profiling tool. Try it! It's cool,
    and it'll tell you in detail where and when your C/C++ code is
    allocating heap. Draws pictures of memory use
    against time. A potentially powerful tool for making sense of
    your program's space use.
  • File descriptor leakage checks. When enabled, Valgrind
    will print out a list of open file descriptors on exit.
  • Improved SSE2/SSE3 support.
  • Time-stamped output; use --time-stamp=yes

Happy (and productive) debugging and profiling,
-- The Valgrind developers"


Click Here!