Documentation  |  Table of Contents  |   < Previous  |   Next >  |   Index

A    Hints and Tips

Introduction to Palm OS® Developer Suite

Palm OS® Developer Suite

This appendix includes some trouble-shooting information that may help you answer questions about Palm OS Developer Suite.

Build Issues ^TOP^

#include Search Behavior

In the current Workbench implementation, #include statements of the form

#include <header.h> 

search both the standard directories, and the user's include directories.

Automatically Saving Changes

If you want all of your sources automatically saved prior to a build, you need to set an Eclipse Workbench preference.

  • Select Window > Preferences to open the Preferences dialog box, as shown in Figure A.1.

Figure A.1  Workbench Preferences dialog box

  • Select Workbench to display the Workbench Preferences page.
  • Select Save all modified resources automatically prior to manual build.

gcc Compiler Issues ^TOP^

Exception Handling

Because of differences between the gcc compiler and the Palm OS Protein C/C++ Compiler, exception handling—using try(), catch(), and throw()—does not work in Palm OS Protein C++ code that is compiled for the Palm OS Cobalt Simulator.

In addition, the functions setjmp() and longjmp() from the header file ErrTryCatch.h produce linking errors if used in Palm OS Protein applications. To work around this limitation, add the following #define statements to get your code to compile and link:

#define longjmp ErrLongJump 
#define jmp_buf ErrJumpBuf 

Long Double Data Type

Because of differences between compiler implementations of the long double data type, you should not use the long double data type in code that is compiled by the gcc compiler.

For example, gcc implements long double data as 12-byte data, but Palm OS Simulator treats long double data as 8-byte data.

In addition, the gcc option -m128bit-long-double treats long double data as 16-byte data rather than 12-byte data.

gdb Debugger Issues ^TOP^

Breakpoints on Opening Braces

Because of a gdb debugger issue, if you place a breakpoint on an opening brace, you may not be able to use the Step Over function when debugging code running on Palm OS Cobalt Simulator.

To correct this issue, move the breakpoint to a subsequent line, or remove the breakpoint on the open brace after hitting it and before using the Step Over function.

Resume At Line Function

Because of a known issue in the interaction between CDT and the debugger, you should not use the Resume At Line function when debugging code running on Palm OS Cobalt Simulator.

68K Applications ^TOP^

Debugging Shared Libraries

Palm OS Debugger does not support the Step Into function for shared library code with 68K shared library calls.

68K shared library calls are implemented as system traps that contain the parameters on the stack, and one of those parameters is a function index to be called from a function table. The code that implements shared library function tables is in the ROM, which prevents stepping into 68K shared library functions.