Properly implemented socket-waiting.
[aesalon.git] / README
blob2ade4c6621eefbb4a1f761adf6ae801405be4d3a
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, nothing
11 else is required.
13 Currently, the only implemented graphical display utilizes Qt4. However,
14 aesalon communicates information from the monitor to the display with TCP
15 network sockets; therefore it is entirely possible to monitor a program
16 remotely.
18 -- What is required to compile aesalon
19 Aesalon is written in c++0x-compatible C++, and is mostly POSIX-compliant; it
20 uses very few features that are not specified in the POSIX.1-2001. Some parts
21 of the program use GNU extensions and Linux-specific code (especially ptrace-
22 specific). Therefore, g++ and libstdc++ should be sufficient. Beyond that,
23 aesalon additionally requires a pthreads implementation to be installed. It is
24 rare, however, for a standard Linux distribution to not have the required
25 packages. Simply install g++ (only tested with version 4.4, but others should
26 work), and cmake, the buildsystem generator (tested with 2.6 and 2.8).
28 -- How to compile aesalon
29 First, edit the build.config file to change what is built, and what is not
30 built. The only thing that most users will need to change is the PLATFORM
31 variable. Currently, only x86_64 is actually supported (with x86 support
32 partially implemented), though ports to other platforms are certainly welcome.
34 Run 'cmake .' in the project root directory once you are done. This will
35 generate the Makefiles required to actually build aesalon. Once that is done,
36 run 'make', and that should be all that is required. The two symlinks in the
37 project root directory (aesalon and aesalon_gui) should get you started.
39 Good luck, and happy hacking!
41  -- strange <kawk256@gmail.com>