Fully re-implemented the ActiveSessionBlockView, using the new diff system.
[aesalon.git] / README
blob38df2eaa91e82047947b21b80674de1617df2f7f
1 This is the README for Aesalon.
3 Aesalon is a program to monitor the dynamically-allocated memory of another
4 program. It uses ptrace and some trickery with DWARF debugging information to
5 form a reference counter that is then used to display statistics on the memory
6 allocated.
8 -- What is required to run aesalon
9 In order to run the aesalon monitor on a program, it simply must have been
10 compiled with debugging information, in the DWARF format. Beyond that, the
11 operating system utilized must be a Linux derivative (see note below, in the
12 compilation section).
14 Currently, the only implemented graphical display utilizes Qt4. However,
15 aesalon communicates information from the monitor to the display with TCP
16 network sockets; therefore it is entirely possible to monitor a program
17 remotely.
19 -- What is required to compile aesalon
20 The monitor is written in 95% c++0x-compatible C++, but utilizes a few GNU
21 extensions to libc (getopt_long, etc). Also, the monitor is partially Linux-
22 specific, but that could change in the future if someone using BSD or similar
23 is interested enough to request a port. This means, in essence, that you need
24 a Linux-based operating system, g++ (tested with 4.4, but 4.3 or earlier
25 should also work), and a non-ancient version of libstdc++.
27 The GUI is written using Qt, so any platform that supports Qt will also
28 support the monitor (in theory -- some Qt extensions are used that may not be
29 available on some platforms, such as OpenGL rendering, etc.)
31 CMake is used as the buildsystem for both the monitor and the GUI (tested with
32 2.6 and 2.8).
34 -- How to compile aesalon
35 First, edit the build.config file to change what is built, and what is not
36 built. The only thing that most users will need to change is the PLATFORM
37 variable. Currently, only x86_64 is actually supported (with x86 support
38 partially implemented), though ports to other platforms are certainly welcome.
40 Run 'cmake .' in the project root directory once you are done. This will
41 generate the Makefiles required to actually build aesalon. Once that is done,
42 run 'make', and that should be all that is required. The two symlinks in the
43 project root directory (aesalon and aesalon_gui) should get you started.
45 Good luck, and happy hacking!
47  -- strange <kawk256@gmail.com>