|Pilot Development Tools For Linux|
Tools from palmos.com
GCC for Palm OS Project
PilRC @ SourceForge
|Debugging Your Application|
The current emulator for the Palm device is called
POSE. It contains many improvements (it can e.g. run
Pilot ROM's up to version PalmOS-4.x) and also debugging applications has become simpler
with POSE than with it's predecessor XCopilot.
As usual, programs have to be compiled with gcc "-g" option, if you want to debug them using gdb. This adds debugging information to the program and lets the program ask for a feature with creator ID "gdbS" ("gdbS" belongs to gdbpanel; this program is obsoleted by POSE). If the feature is set, the program asks to enter debug mode.
POSE automatically sets this feature and checks, if a debugger is connected to POSE. If so, a break at PilotMain() is forced and the control is given to the debugger connected.
What remains to discuss is how to connect gdb to POSE; the patched version of gdb knows a command "target pilot <host>:<port>". By default POSE creates two sockets at port 2000 and a user defined port (in ~/.poserrc exists a option DebuggerSocketPort=6414, which seems to define this port). It remains to start gdb and load the program you want to debug ("file <prg>"; choose the program without suffix ".prc") and enter the command "target pilot localhost:2000". If you then start the program in POSE that you want to debug, you should find gdb at its command prompt.
I recommend you to create a file ".gdbinit" in the directory, where you start gdb. This file should contain a line
target pilot localhost:2000This line will then be evaluated, if you start gdb; so you don't have to enter this command every time you want to debug a program.