-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
66 lines (48 loc) · 2.18 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
This is the source code for a C++ debugger. It is designed to debug
applications (not kernel) written in C/C++ under Linux.
At its core is an engine that the user can interact with in a console,
somewhat like GDB. It also has a Gtk UI.
BUILDING THE SOURCE:
Use the build script in this directory, type ./build --help for help
DO NOT run "./configure; make" by hand!
BUILD ENVIRONMENT:
The following are required:
g++
libelf
boost
boost-python (dev)
flex
bison
python 2.x (dev)
libgtkmm-2.4 (dev)
libgtksourceview-1.0 or 2.0 (dev)
libgtksourceviewmm 2.0 (dev)
libgtkhtml-3.x (dev)
SOURCE CODE LAYOUT:
engine: the debugger engine code
typez: an implementation of the DebugSymbol interface, used by the stabs and
dwarf plug-ins, implementation of the type-system
dharma: from the Sanskrit word "that which supports": miscellaneous support
code, such as C++ wrappers around libc and system calls, code for
detecting and loading shared objects at runtime (plug-in support).
dwarfz: C++ wrapper library around libdwarf
elfz: C++ wrapper library around libelf
interp: builtin C/C++ interpretor for one-liner expressions
zero_python: a library that exposes the ZDK to the Python programming language.
Built on top of Boost.Python
zdk: some abstract classes that serve as bases for most of the
interfaces in the Zero debugger project: Unknown, RefCounted,
EnumCallback<>;
also contains some helper code such as the RefPtr<> smart pointer,
designed to work with RefCounted objects, and a RefCountedImpl<>
template implementation;
some support code for atomically incrementing/decrementing reference
counters;
and some architecture/platform-specific definitions
zdk/generic: miscellaneous C++ templates, with generic support for the visitor
pattern, smart ptrs, etc.
stabz: library for reading STAB debug info
symbolz:library to read symbol tables, etc
plugin: contains the GUI plug-in, the DWARF and STABS readers, etc.
zui: bootstraps an EXPERIMENTAL GUI written in Python, I use it every once in a blue moon
for prototyping purposes.