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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
DEPENDENCIES
------------
Editline or Readline
* editline
http://freshmeat.net/projects/editline/
* readline
ftp://ftp.gnu.org/gnu/readline/
DIRECTORY LAYOUT
-----------------
* interfaces/
Public interfaces, they're used by the backends and the frontend.
* classes/
[Namespace: Mono.Debugger]
Public classes.
* arch/
Architecture dependent interface implementations.
Everything in this directory is private and may only be used from
code in backends/.
* backends/
All files in this directory itself belong to the public API for people
who're implementing backends.
The following directories are private.
* backends/classes/
Private support classes which are used by the public API.
* backends/ptrace/
The `ptrace' backend, uses the unmanaged server library in backends/server.
* backends/Debugger.cs
[Namespace: Mono.Debugger]
This single file belongs to the public API.
* backends/server/
This directory contains an unmanaged C interface. It's part of the public API
for peopel who're implementing backends.
* frontends/
The frontends.
When writing frontends, you must not access anything in the Mono.Debugger.Backends
or Mono.Debugger.Architecture namespace directly. This shouldn't work due to class
permissions, anyways.
* test/
Some test code.
The makefiles currently build two libraries and an executable:
- Mono.Debugger.dll contains the public API and public classes
- Mono.Debugger.Backends.dll contains the architecture and backend specific things.
It exports the `DebuggerBackend' class which is part of the public API and an API
for people who're writing other backends. Everything else is hidden.
- Debugger.exe is the application itself, it links against these two dll's and
Mono.CSharp.Debugger.dll which is in mcs/class/Mono.CSharp.Debugger (it must be
distributed together with our class libs because it contains the symbol writer
which is used by MCS).
|