Menu

Tree [r343] /
 History

HTTPS access


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

Read Me

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)