Danko Radic <[EMAIL PROTECTED]> writes:
> How to define ERR_CHECK_LEVEL (Code Warrior R4, Palm OS 3.0) to .._NONE,
> .._PARTIAL or .._FULL? I'd like to know what should I put into my code or
> defines to change it.
>
> What I have is a stubborn bug when using DmWrite (and DmWriteCheck)
> function which ends with Fatal display "DataMgr.c, Line:5206
> (DmWriteCheck)" - in PalmOS 3.0 sources the line 5206 is that
> fatal display call. I'd like to avoid that and to have error code
> dmErrNotValidRecord or dmErrWriteOutOfBounds returned in order to learn
> more about the origin of my bug.
This comes up every so often. While you can define ERR_CHECK_LEVEL for
your own app and thus change the behavior of the Err* calls, you can't
change ERR_CHECK_LEVEL in the compiled OS. If you grovel the list
archives you'll see the arguments for developer debugging ability
vs. protecting user data from non-careful applications, which I won't
rehash now.
In short, you'll need to find a different debugging technique.. making
the problem happen under POSE with the debugger attached, or on the
device with a serial debugger running (and a wall-powered
battery-replacer, too).
A hack/enhancement that would save the stack frame in some reserved
region of memory when an Err*() happens would be a godsend for this
kind of problem, though. "In my copious free time".
- Nathan