This is Very Sleepy, a polling Windows CPU profiler with a wxWidgets-based GUI.
- Simple user interface
- Microsoft Symbol Server support
- Command-line operation
- MinGW support
- Late symbol resolution
Very Sleepy documentation is available on the GitHub project wiki.
For the latest development version, you can download the latest AppVeyor artifact.
Version 0.91 (under development):
- Rename project back to Very Sleepy (this fork repository is now the official repository)
- Use Dr. MinGW to resolve MinGW symbols by default
- Update Wine DbgHelp for Windows
- Improve and greatly simplify build process (#40)
- Add continuous integration via AppVeyor
- Improve Visual Studio 2015 support (#28)
- Contributed by Bernat Muñoz Garcia:
- Use Scintilla for syntax highlighting (#16)
- Contributed by Ashod:
- 64-bit fixes (#21)
- Contributed by k4hvd1:
- Added command-line option
/ato profile an existing process by its process ID (#30)
- Added command-line option
- Contributed by Markus Gaisbauer:
Version 0.90 (2014-12-23):
- Redesign parts of the file format and internal database representation, to allow more exact late symbol loading, as well as a disassembler view in the future
- Add an "Address" column to all function lists
- For the call stack and callers view, the address specifies the address past the call instruction
- Several fixes to the crash reporter
- Use wxWidgets 2.9.5
- Fix problems caused by dbghelp.dll hijacking
- Fix handling of symbols containing whitespace characters
- More user interface improvements
- Contributed by Unknown W. Brackets:
- 64-bit fixes (#6)
- Contributed by Michael Vance:
- Add CSV export for the callstack view
- UI fixes and code cleanup
Version 0.83 (2013-08-22):
- Rename fork to "Very Sleepy CS"
- Numerous user interface performance, responsiveness and usability improvements
- Allow specifying additional symbol search paths
- Add Back and Forward menu items and hotkeys for function list navigation
- Improve overall performance
- Add late symbol loading by saving a minidump during profiling
- Install 32-bit version alongside 64-bit version
- Contributed by Richard Munn:
First fork release (2013-01-11):
- GitHub repository created
- Fix several issues with the
- Various UI improvements
- Don't completely abort due to one failed
GetThreadContextcall (fixes "
Error: ProfilerExcep: GetThreadContext failed." errors by ignoring the occasional seemingly-harmless error condition)
Changes before this repository's creation can be found on the project's website.
- Visual C++ 2010 or newer
- CMake (for Dr. MinGW)
- 7-Zip (for unpacking MinGW)
- InnoSetup 5 (for building an installer)
Third party dependencies are registered using git submodules, so you will need to either clone with the
--recursive flag, or run
git submodule update --init after cloning.
build.cmd batch file will attempt to build Very Sleepy and its dependencies.
Alternatively, you can build Dr. MinGW using the
thirdparty/drmingw_build_mingw.cmd batch file, then use the Visual Studio solution file (
sleepy.sln) to build everything else.
If you'd like to contribute a patch, please open a pull request. I'll try to review and merge it as soon as my time will allow.
Bug reports and feature requests are welcome as well - please file them as GitHub issues.