Ceci n'est ce pas Matt Gumbley


Updated Mon Dec 30 22:03:31 2002

Site Map
Site Home page
Matt's home page
Angela's home page
Natasha's home page
Hannah's home page
Our Wedding Pages

Personal
Online CV
Family history

Projects
Latest News
The Crypt
(Old, Dead Projects)
Miscellaneous
QtGantt
HTML Macro System
SigChange
Home Page Sync
Psion EPOC
Overview
Mixed Language Programming
GDB Debug Stub
hForth Port
Disassembler
Psion SIBO
All SIBO projects are in
The Crypt
Linux
Toshiba 40xx & Linux
Network-RS232 Bridge
Psion Protocol Analyser
Serial Line Analyser
Work on plptools
Psion .img tools
Happy Badger Linux
Linux Psion Link Ideas
Amateur Radio
Amateur Radio Software

Popularity

accesses so far..


Matt J. Gumbley - http://www.gumbley.demon.co.uk

GDB Remote Debug Stub for EPOC

Table Of Contents



1 Project Status

This project is on hold, awaiting information on how EPOC handles exceptions, and how I might patch the exception vector table. Here's the README from the current development snapshot. I haven't got a snapshot archive for you to look at yet; hopefully sometime soon.

GDBStub - GDB (GNU Debugger) Remote Debug Stub for EPOC/MARM
============================================================

(C) 1999,2000 Matt J. Gumbley
matt@gumbley.demon.co.uk
http://www.gumbley.demon.co.uk/gdbstub.html

9/1/00

Where I was at.
===============
The gdbstub.mmp project will build, but won't link - I need to build this 
as a static interface dll. In the meantime, I'm statically linking the
object (or rather, am trying to).

UIDs have been allocated: 0x10005EF1 will be used for the DLL

The STUBEX test program runs, but doesn't currently set up the exception
handlers. I need to investigate how this might be done - this might require
some EPOC knowledge that I currently don't have (in particular, setting vectors
in the exception handler table from user mode).




Test Programs
=============
SERTEST tests the SERIAL class.
SERTEST2 tests the SERIAL class through the SERWRAP wrapper.
CLINK tests calling C++ from C, and C from C++.


Brief Guide
===========
To enable remote debugging of one of your programs, you must link your code
with the static interface DLL, GDBSTUB.DLL. (.DLL, .LIB and .H files are
supplied for this). An example program is provided, called STUBEX.

The first line of your code should be a call to set_debug_traps().

Place calls to breakpoint() wherever you require breakpoints. You could of
course, do this immediately after set_debug_traps. gdb will then take over your
program as soon as it starts.


Rebuilding
==========
Build the GDBSTUB.MMP project.
makmake /makework gdbstub marm
makmake gdbstub marm
nmake gdbstub.marm

You could try a WINS build, but I don't think you'd get very far ;-)


Acknowledgements
================
The authors of gdb and ddd.
Ben Williamson for providing advice, the stub code, and patches.
Steve Longerbean, for writing the stub for StrongARM.
Symbian Ltd., for choosing to use the GNU toolchain.
ARM Ltd., for ARM technical information.

Matt J. Gumbley - matt <at> gumbley <dot> demon <dot> co <dot> uk