1
0
Fork 0
dosbox-staging/include
diaxen cf4685e7aa Add gdb server to debugger
Here is a patch which allows using the GNU debugger as an alternative to
the DOSBox built-in debugger. The built-in debugger may be more
convenient to show x86 specific information about execution state,
whereas Gdb is useful for C and C++ source level debugging.

This patch applies against svn revision 3761. Once applied the configure
script can be used with a new option:

./autogen.sh
./configure --enable-debug=gdbserver

DOSBox then listen on TCP port 1234 and a Gdb client compiled for x86_64
or i686 targets can be connected:

$ gdb
(gdb) target remote localhost:1234

The gdb architecture must be set depending on the code your are trying
to disassemble (16 or 32 bits), for instance:

(gdb) set architecture i8086
(gdb) x/32i $eip

Breakpoints and watchpoints are supported and some DOSBox specific
features are available through the gdb "monitor" command.

This patch adds the following files:
- src/debug/gdb_server.cpp file
- src/debug/debug_log.cpp
- src/debug/debug_helpers.cpp

The debug.cpp file has been split in 3 files so that the original file
now contains built-in debugger stuff only and
debug_log.cpp/debug_helpers.cpp files contain common code used by both
built-in and Gdb debuggers. Some variables which were previously local
to debug.cpp have been prefixed by DEBUG_ and debug.h has been updated
accordingly.

Tested under GNU/Linux.

Co-authored-by: ykhwong
Imported-from: https://www.vogons.org/viewtopic.php?p=259378#p259378
2020-05-11 17:59:02 -04:00
..
bios.h add compatibility POST chaining, certain game exiting should look better now (ripsaw, sort of fixes a hangup with Astro Dodge) 2011-04-22 14:18:00 +00:00
bios_disk.h Increase number of floppies when using non-disk images as well. Maybe decrease the number on unmount in the future. Thanks ripsaw 2011-07-16 12:24:46 +00:00
callback.h Call int 0xe when resetting a disk. Fixes a keydisk workaround algorithm. (thanks ripsaw) 2011-09-01 12:19:52 +00:00
control.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
cpu.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
cross.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
debug.h Add gdb server to debugger 2020-05-11 17:59:02 -04:00
dma.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
dos_inc.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
dos_system.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
dosbox.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
fpu.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
hardware.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
inout.h add manual uninstall functions for callback/io-handler objects 2011-06-17 14:28:00 +00:00
ipx.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
ipxserver.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
joystick.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
keyboard.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
logging.h Add gdb server to debugger 2020-05-11 17:59:02 -04:00
Makefile.am add PCI framework 2011-06-18 13:39:31 +00:00
mapper.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
mem.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
mixer.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
modules.h First CVS upload. 2002-07-27 13:08:48 +00:00
mouse.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
paging.h Add gdb server to debugger 2020-05-11 17:59:02 -04:00
pci_bus.h Add properties 2011-12-18 19:23:56 +00:00
pic.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
programs.h Allow command /Cdir 2011-06-24 21:02:05 +00:00
regs.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
render.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
serialport.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
setup.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
shell.h - Add midnight/next day increment 2011-06-05 18:28:00 +00:00
support.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
timer.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00
vga.h small additions: vga override, lazy fullscreen switching, pci read override 2011-12-11 17:30:50 +00:00
video.h Update year. Remove CVS tags 2011-04-26 09:34:55 +00:00