duby Code
Status: Pre-Alpha
Brought to you by:
skalogryz
| File | Date | Author | Commit |
|---|---|---|---|
| doc | 2010-03-18 | skalogryz | [r156] docs about calling proc |
| dubygui | 2010-04-11 | skalogryz | [r199] changing dwarf reading |
| dubylaz | 2017-11-02 | skalogryz | [r334] changing the order of initialization |
| dubylib | 2018-06-28 | skalogryz | [r343] adding ppufpc unit |
| dubyline | 2017-11-02 | skalogryz | [r333] adding disassembler command |
| expparse | 2017-10-21 | skalogryz | [r285] adding a "context" into variable valuation and ... |
| readdbginfo | 2017-10-16 | skalogryz | [r238] adding readdbginfo |
| tests | 2017-11-01 | skalogryz | [r329] adding capstone engine test |
| debugstabs.pas | 2009-10-02 | skalogryz | [r81] update properties, thanks to Graeme Geldenhuys |
| readme.txt | 2017-10-25 | skalogryz | [r306] additional description of the project directories |
hello
this project is my graduation work. So, generally i'm the most interested in getting this project done :)
the second, and probably even more important task, is to implement FreePascal based debugger, so it can be
used by any object-pascal (FreePascal) based application.
whole code will be written in {$mode delphi}, so, at least, windows version should be delphi 7 compatible.
i will soon upload source file.
the project is inspired, by fpdbg - simple 64-bit Win debugger by Marc Weustnik (fpc/lazarus team developer)
you can find his project at Lazarus/debugger
thanks,
dmitry aka skalogryz
=== Notes ===
the project structures is the following
dubylib/ - dir containg all libraries used for
dbg* - common debugging unit. Usually contains classes/types declarations
win* - Windows specific units
linux* - Linux specific units
mac* - Mac OS X specific units
*i386* - Intel x86 CPU specific units (usually x86 types and disassmebler)
*amd64* - AMD64 (x86_64) CPU specific units (usually amd64 types and disassembler)
*dwarf* - DWARF specific units
*stabs* - Legacy STABS debuf info units
more to come:
bsd* - BSD Unix specifi units
other processors support
dubyline/ - command-line debugger, implemented using dubylib
dubylaz/ - Lazarus IDE debugger plugin - using dubyline
dubylaztest/ - LCL application to dubylaz code (without need of recompiling Lazarus IDE all the time)
expparse/ - parts of the library to parser and evaluate pascal expressions.
separated from the rest of dubylib for two reasons:
* to be used in a separate projects (no explicit debugger dependancy)
* pascal expression parsing is not a primary role of a debugger
but rather a feature
tests/ - the list of test projects, to test each component of a lib separately
dwarfreader - dwarf2 debug info reader
expval - expression valuation and expression parsing test
stabsreader - stabs reader
winFileNameByHandle - win32 resolving file name by handle test
xnutest - basic debugging API for macOS (darwin, aka xnu kernel)