Bugs & Wishes

Project Page


Calltree Skin V 0.9.1 Bug fix release.
  • Fixed a packaging mistake. I should have used "make distcheck" earlier ;-)
  • Runs with Valgrind V 1.9.6. Because of a skin API change, calltree previously did compile with V 1.9.6, but didn't run.
  • Fixed failed assertion with --trace-jump=yes: Jumps can happen between different functions with long_jmp/C++ exceptions.


Calltree Skin V 0.9.0
  • Compiles both with Valgrind 1.9.6 and current Valgrind CVS.
  • Compile fixes for GCC 3.3.
  • Added option --dump-instr=yes to include trace information on instruction level. This needs a new version of KCachegrind to be useful. Stay tuned!
  • Added option --trace-jump=yes to include trace information for (conditional) jumps inside of a function.


Calltree Skin V 0.2.95.
  • Fixed a dumb configure error of 0.2.94. Added some HTML documation.


Calltree Skin V 0.2.94.
  • Some speedups and small bug fixes. Compiles with V 1.9.5.


KCachegrind 0.3b
  • Real cost types are drawn in different colors in the graphic cost bars now. This is especially useful to see the partitioning of real costs in a virtual type.
  • Cost type bars are shown in the treemaps.
  • The flat profile shows call counts now. This allows for call count order.
  • Cycle detection is switchable with a toolbar button. For GUI application, sometimes it's useful to switch cycle detection off, even if there are some visualization errors with recursive calls.
  • New toolbar button to show "expanded" percentage costs. If this switch is off, all costs are shown relative to the total application cost (in call lists/source view). If switched on, the costs are relative to the function cost, thus "expanded".
  • The treemap now shows a black hash pattern on areas where sub items are to small to draw. Lot of optimisations allover.

Calltree Skin 0.2.93 for Valgrind 1.9.4

  • Reordered event type order for better visualisation with KCachegrind 0.3b
  • Small bug fixes


Calltree Skin 0.2.92 for Valgrind 1.9.4
  • All bugs with multithreaded apps should be fixed now. Missing for version 0.99: Regression tests, docu, and performance :-)


Calltree Skin 0.2.91 for Valgrind 1.9.4
  • Bugs with --fn-skip=xxx are fixed. For multithreaded apps, it only works with --dump-threads=yes for now.


Calltree Skin 0.2.90 for Valgrind 1.9.4
  • This is the 2nd prerelease for the calltree rewrite. Warning: Bugs with multithreaded apps still not fixed! A lot of new command line options, and UserRequests.


Calltree Skin 0.2d for Valgrind 1.9.x
  • Bug fix: Use 64 bit for cycle cost

Calltree Skin 0.3pre for Valgrind 1.9.x

  • This is a prerelease of a rewritten calltree skin. Warning: Multithreading is buggy!


KCachegrind 0.3a
  • This is a bugfix release. It's compiling both with KDE 3.0.x and KDE 3.1.x libraries.
  • Compile fixes for KDE 3.0.x. Tested.
  • Fix for loading of traces from other directories.
  • Fix to always select a trace type.


Calltree Skin 0.2c for Valgrind 1.9.x
  • A simple port of 0.2b to a independent skin (plugin) for Valgrind 1.9.x.
  • No patching of valgrind sources required; a binary Valgrind installation is enough.


KCachegrind 0.3
  • Compiles with KDE 3.0.5.
  • Recursive handling corrected: Cycle detection and handling.
  • Internal cleanup: Cost types aren't hardcoded any more (config missing)
  • Treemap widget: New Split Types (Recursive bisection, Columns, Rows) for more rectangular areas when there are many subitems.


Calltree Patch 0.2b for Valgrind 1.0.4
  • Adjustments for Valgrind 1.0.4. Note: Valgrind 1.0.4 has a serious bugfix for debug info generated with GCC 3.x. This bugfix is very important the see the real function names in KCachegrind instead of 0x80xxxxxx.
  • No compile warnings with GCC 3.x any more
  • Now the "trigger:" line has the exact reason for a trace dump


KCachegrind 0.2a
  • Compile fix for GCC 3.x and KDE 3.0.x
  • Optional TreeMap shading added (for even nicer screenshots!)
  • Minor GUI string fixes


KCachegrind 0.2
  • Terminology similar to GProf.
  • Lot of What's this help added for all widgets in KCachegrind.
  • Added to Info tab: 'List of loaded parts' with function info per trace part. This also allows hiding parts to get e.g. only Thread1 profile parts for a multithreaded application. Graph rectangles are now optionally titled by name and cost, if available space allows this (see Screenshots!)
  • Many visualisation options added for the TreeMap widget, all available by a context menu. Most important: A mode to get real cost size proportions ('Skip incorrect border')!
  • Much improved automatic saving/loading of configuration and current program state options. Most options are stored on a profiled-command-basis. Quitting KCachegrind and starting it again with a trace of the same profiled program, gives you the same window layout and preselected funtion/group.
  • Toolbar buttons for Reload Trace/Force Cachegrind Dump added for some interactive control of a running profile from the GUI.
  • More distance information in the Coverage Tab.
  • And much more...


Calltree Patch 0.2a for Valgrind 1.0.2
  • Improved multi-thread support. There's much less slowdown for single threaded programs while allowing multi-threading.
  • Option "--dump-threads=no|yes" added. Allows separate trace file generation per thread in multi-threaded programs. Default is one trace file for costs of all threads.
  • Added documentation in README.calltree: All about usage, additional options, trace format extension, changelog, some benchmark results, and technical details on the patch.


KCachegrind 0.1d, Changes:
  • Update fix for Source
  • New config option: L1/L2 factor for CPU cycle estimation
  • New config option: Drawing Mode for Graphs
  • Able to load thread trace parts (produced by Calltree Patch 0.2 with multithreaded programs).

Calltree Patch 0.2 for Valgrind 1.0.2

  • Version 0.2 supports multi-threaded programs now. Unfortunately there's some overhead (10%) even for single-threaded programs at the moment, and the version is possible not very stable. So use 0.1e if you don't need it. For thread traces, the filename has appended "-tid" for costs in thread tid.


Calltree Patch 0.1e for Valgrind 1.0.2
  • Bugfix for Segfault with indirect jumps in client code
  • Bugfix for correct dumping of inlined functions


Calltree Patch 0.1d for Valgrind 1.0.2
  • Option --calltree=no to disable call-tracing. Needed to disable call-tree tracing for multithreaded programs, as that's not working at the moment. You get the original cachegrind behaviour (aside from compressed output).
  • Option --compress-strings=no to disable string compression in trace dumps. This produces more human readable trace output.
  • Atomic generation of trace part files. This is done by dumping to ".file" and renaming to "file" afterwards.


KCachegrind 0.1c, Changes:
  • Should finally compile with KDE 3.0.x
  • Some Docu fix (at least no more errors)

Calltree Patch 0.1c for Valgrind 1.0.1

  • Failed assertions fixed (unmapping/CC type check)
  • vg_annotate can now load the traces


KCachegrind 0.1b, Changes:
  • New calculated event type: CPU Cycle Estimation, selected on startup.
  • Distance column in Coverage lists: shows minimal stack frame distance to selected function.
  • Should compile with GCC 3.x now
  • Should compile with KDE 3.0.x now (Ships KWidgetAction)
  • Small GUI fixes
  • Searches recursively for source files now
  • Some usefull tips of the day added
  • German message translation
  • Reads trace files produced by original Cachegrind and Cachgrind with Calltree patch 0.1b (No previous Calltree patches supported !).

Calltree Patch 0.1b for Valgrind 1.0.1

  • Hopefully no malformed patch...
  • Option --cachedumps= renamed to --dumps=
  • Option --dumpat=function added to dump at function entry
  • Immediate dump forcable with "touch cachegrind.cmd" in cwd of a running cachegrind (the program must be running, not sleep!)
  • Creates traces with names 'cachegrind.out.pid.part'
  • Writes compressed traces (70% smaller than original cachegrind)


Small fixes for braindead errors of first publication.


Initial unofficial publication of KCachegrind under GPL.