Very Sleepy

Sleepy is a C/C++ CPU profiler for Windows systems.
The original version is a bit lacking in many areas, so I’ve been doing some work on it.
My version (“Very Sleepy”) has a boatload of improvements in, such as call-graph profiling, an improved UI, and load-save.

It supports any native Windows app, if it has standard PDB debugging information. No recompilation is necessary – it can just attach to any app as it’s running.

Sleepy is released under the GNU Public License, so you’re guaranteed the right to the source code and to change it how you wish.

version 0.6 – 8.8.2009

version 0.5 – 3.25.2009

version 0.4 – 4.10.2008

version 0.3 – 26.1.2008

version 0.2 – 26.7.2007

Changes

  • 0.6 changes:
    • Stops correctly upon process/thread termination.
    • Added ability to launch an EXE, both from the GUI and the command line.
    • Thread picker list now shows the function each thread is executing.
    • Fixed module sorting (thanks to aras-p).
    • Debug privilege patch (again thanks to aras-p).
    • New capture progress window.
    • Fixed bug where red margin counts would often not add up to 100%.
    • Fixed callees count for some recursive functions.
    • Upgraded to latest DBGHELP.DLL.
    • Fixed SuspendThread problem when debugger is attached.
    • Added helpful hint for system calls.
    • Unknown functions now get the address shown.
    • Delete temporary capture files on exit.
    • Fixed bug where high CPU load would kill profile sampling rate.
    • Many threading improvements.
    • Rewrote CallStack class to not allocate memory all over the place.
  • 0.5 changes:
    • multi-thread support
  • 0.4 changes:
    • you can sort columns (hooray!)
    • better handling of recursive functions
    • remembers window position, and other small tweaks
    • (you’ll need to uninstall any old versions first, sorry)
  • 0.3 changes:
    • doesn’t throw an error if the process stops early
    • better installer (installs correct CRT, I hope)
  • 0.2 changes:
    • revamped UI
    • call-graph profiling
    • load-save

I did try to get the original author to integrate my changes, but it never happened. Maybe later.

Screenshots


---