Giter Club home page Giter Club logo

verysleepy's Introduction

Very Sleepy CS

This project is a fork of Very Sleepy, a polling Windows CPU profiler with a wxWidgets-based GUI. It is based on Very Sleepy version 0.82, and adds several improvements.

Download

You can download an installer on files.thecybershadow.net.

History

Version 0.90 (work in progress):
  • 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
  • More user interface improvements
Version 0.83 (2013-08-22):
  • 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:
    • Added a time limit option to the interface
    • Added function highlighting and filtering
First release (2013-01-11):
  • Fix several issues with the /r command-line option
  • Various UI improvements
  • Don't completely abort due to one failed GetThreadContext call (fixes "Error: ProfilerExcep: GetThreadContext failed." errors by ignoring the occasional seemingly-harmless error condition)

Motivation

This project exists because all of my recent attempts to contact Richard Mitton, Very Sleepy's maintainer, have failed. The patches I have sent him in March 2012 have not been published, and my requests to upload the project's source code on a source forge (e.g. GitHub) have similarly fallen on deaf ears.

Several others have started their own forks of the project as well. Although I hope that I will be able to reach Richard eventually, for now I'd like for there to be one place for further project development, so that orphaned forks (which often remain unnoticed and succumb to bitrot) could be avoided.

Building

Prerequisites:

  • Visual C++ 2010 (or compatible, e.g. 2012)
  • wxWidgets 2.9.5
    • Versions other than 2.9.5 might work, but may have compatibility issues.

After building wxWidgets (see below), you can build Sleepy using the project files (with the Visual Studio IDE or msbuild).

Building wxWidgets

Run one of the Microsoft batch files to set up the Visual Studio environment:

cd "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin"
vcvars32.bat           // for a regular 32-bit compile
vcvars64.bat           // for a regular 64-bit build
vcvarsx86_amd64.bat    // for a 64-bit cross-compile

Now, from the wxWidgets build\msw directory:

nmake -f makefile.vc BUILD=debug SHARED=0 RUNTIME_LIBS=static

NMAKE is part of Visual Studio, so vcvars should have added it to your path.

Options:

  • For a release build, use BUILD=release instead.
  • For 64-bit, add TARGET_CPU=AMD64.
  • You could also use the Visual Studio project/solution files to build wxWidgets, however (as of 2.9.5) these are Win32-only.

Finally, create an environment variable called WXWIN, and set it to the full path towards the wxWidgets directory (incl. trailing backslash). This variable in referenced in Sleepy's project files - Visual Studio must have in in its environment to be able to find wxWidgets.

Contributing

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.

verysleepy's People

Contributors

benjymous avatar cybershadow avatar

Watchers

 avatar

Forkers

hrydgard

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.