Greetings.

Thanks for the help.

I can't tell what piece of code is executing that causes the memory
access.  It's in the storage heap, so it could well be part of your
program.  But there's no embedded function name associated with the
function (you need to enable that option in your development system),
so we can't tell for sure.
How do I enable the option? I'm using CodeWarrior v9.0.

Sincerely,

Lim Lee Wee (Mackey)
R&D Engineer (Software)
Group Sense Technology (Singapore) Pte Ltd




                                                                                       
                                                
                    "Palm Developer Forum digest"                                      
                                                
                    <[EMAIL PROTECTED]>         To:     "palm-dev-forum digest 
recipients"                                
                    Sent by:                                 <[EMAIL PROTECTED]>       
                                   
                    [EMAIL PROTECTED]        cc:                                       
                                
                    palmos.com                               Subject:     
palm-dev-forum digest: April 23, 2004                        
                                                                                       
                                                
                                                                                       
                                                
                    04/24/2004 03:00 PM                                                
                                                
                    Please respond to "Palm Developer                                  
                                                
                    Forum"                                                             
                                                
                                                                                       
                                                
                                                                                       
                                                




Subject: Re: Memory reallocation problem
From: Keith Rollin <[EMAIL PROTECTED]>
Date: Fri, 23 Apr 2004 11:36:27 -0700
X-Message-Number: 46

Lim,

The information you provide here seems to indicate that you are
accessing a global variable in your application at a time when global
variables are not available.

The line:

>           0014E682  *CMP.L     -$1780(A5),A2
|
>B5ED E880

shows a memory access based on register A5.  That register contains
the base address for global variables.  The value (0x800F0106) in
your case has the high bit set, indicating that the A5 register has
been marked by the OS to indicate that global variables are not
currently available to your application.

I can't tell what piece of code is executing that causes the memory
access.  It's in the storage heap, so it could well be part of your
program.  But there's no embedded function name associated with the
function (you need to enable that option in your development system),
so we can't tell for sure.

If you can test your application under the Palm OS Emulator, try
doing that, as it will detect such incorrect memory accesses at the
point they occur and give you a better error message.

-- Keith Rollin
-- Development Tools engineer


At 5:50 PM +0800 4/23/04, [EMAIL PROTECTED] wrote:
>Greetings.
>
>Just to add on to my previous e-mail.
>
>The following is the Palm debugger debug message during the exception:
>
>Remote stopped due to: ADDRESS ERROR EXCEPTION
>
>           0014E682  *CMP.L     -$1780(A5),A2
|
>B5ED E880
>sc
>*********************************************
>* WARNING: Current app stack may be corrupt *
>*********************************************
>Calling chain using A6 Links:
>  A6 Frame   Frame Size     Caller
>  000EFF0C   #0000000324   1013C516  EmsExgGetMsg+005E
>  000EFEE4   #0000000040   1013C5E8  PrvEmsExgGetMessage+00A6
>  000EFEBE   #0000000038   1013BEFE  DecodingOTA+06D4
>  000EF3C8   #0000002806   10065596  FrmAlert+0012
>  000EF3B2   #0000000022   001096BA  MyFrmCustomAlert+006C
>  000EF37E   #0000000052   10065BD2  FrmCustomAlert+0022
>  000EF342   #0000000060   1006568E  PrvConstructCustomAlert+00E8
>  000EF2CC   #0000000118   10066B50  FrmNewForm+0194
>  000EF29C   #0000000048   1004B69E  WinInitializeWindow+003E
>  000EF288   #0000000020   0014E682
>1013BEFE
>reg
>D0 = 000F2000     A0 = FFFFFFFF     USP = 6065EF77
>D1 = 000007F8     A1 = 1004C58A     SSP = 000EF284
>D2 = 00002B0A     A2 = 0000AD52
>D3 = 00000001     A3 = 0000AD52
>D4 = 00000004     A4 = 0000AD96
>D5 = 1013E06E     A5 = 800F0106
>D6 = 800000A0     A6 = 000EF288     PC  = 0014E682
>D7 = 000000A0     A7 = 000EF284     SR  = tSxnzvc     Int = 0
>
>il
>           0014E682  *CMP.L     -$1780(A5),A2
|
>B5ED E880
>           0014E686   BNE.S     *+$0008                     ; 0014E68E
|
>6606
>           0014E688   MOVE.W    #$00C9,$0018(A2)            ; 'I.'
|
>357C 00C9 0018
>           0014E68E   MOVE.L    (A7)+,A2
|
>245F
>           0014E690   UNLK      A6
|
>4E5E
>           0014E692   RTS
|
>4E75
>           0014E694   LINK      A6,-$0008
|
>4E56 FFF8
>           0014E698   MOVE.L    A2,-(A7)
|
>2F0A
>           0014E69A   MOVE.L    D3,-(A7)
|
>2F03
>           0014E69C   MOVE.L    $0008(A6),A2
|
>246E 0008

--

END OF DIGEST

--
For information on using the Palm Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/support/forums/





-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to