[hatari-devel] Bug in debugger when reading longs

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi,

I've found a bug, hopefully reproducible.

> b a5 = $c4b4 && d2 = $11
CPU condition breakpoint 2 with 2 condition(s) added:
       a5 = $c4b4 && d2 = $11
> c
Returning to emulation...
2. CPU breakpoint condition(s) matched 1 times.
       a5 = $c4b4 && d2 = $11

CPU=$2344e8, VBL=902, FrameCycles=312027, HBL=152, LineCycles=731, DSP=$51
$002344e8 : 5a8e                               addq.l    #5,a6
> d pc
$002344e8 : 5a8e                               addq.l    #5,a6

(not important)

Now the fun begins:

> d "pc-$60"
- 'pc-$60' -> $234488
$00234488 : 4eb9 0005 32a4                     jsr       $532a4
$0023448e : 508f                               addq.l    #8,sp
$00234490 : 544d                               addq.w    #2,a5
$00234492 : 568e                               addq.l    #3,a6
$00234494 : bdf9 001d 58c8                     cmpa.l    $1d58c8,a6
$0023449a : 6d00 0004                          blt       $2344a0
$0023449e : 4e75                               rts        
$002344a0 : 203c 0000 0005                     move.l    #5,d0
$002344a6 : 3032 0800                          move.w    (a2,d0.l),d0

OK, so I want to jump to the bold address...

> r pc=$002344a0
> d pc
$002344a0 : 203c 0000 0005                     move.l    #5,d0
$002344a6 : 3032 0800                          move.w    (a2,d0.l),d0
$002344aa : e058                               ror.w     #8,d0
$002344ac : d044                               add.w     d4,d0

Looks good...

> r
 D0 0000C011   D1 00000000   D2 00000011   D3 00000000  
 D4 00000000   D5 00200011   D6 00087A00   D7 FFFFFFFF  
 A0 002344A0   A1 00233F1C   A2 001EC408   A3 001D6408  
 A4 000AA2CC   A5 0000C4B4   A6 0000006C   A7 0023136C  
USP  0023136C ISP  00008870 SFC  00000000 DFC  00000000  
CACR 00003111 VBR  00000000 CAAR 00000000 MSP  00000000  
T=00 S=0 M=0 X=0 N=0 Z=0 V=0 C=0 IMASK=3 STP=0
0: 3FFF-D3333333-33333800 #1.650000e+00 3FFC-FAE147AE-147B0000 #2.450000e-01  
2: 7FFF-7FFFFFFF-FFFFF800 +nan 7FFF-7FFFFFFF-FFFFF800 +nan  
4: 7FFF-7FFFFFFF-FFFFF800 +nan 7FFF-7FFFFFFF-FFFFF800 +nan  
6: 7FFF-7FFFFFFF-FFFFF800 +nan 7FFF-7FFFFFFF-FFFFF800 +nan  
FPSR: 08000000 FPCR: 00000000 FPIAR: 0003ea0e N=1 Z=0 I=0 NAN=0
Prefetch 002344ec 001d58c8 (1) bdf9 (1) 001d (1) 58c8 (1)
002344A0 203c 0000 0005           MOVE.L #$00000005,D0
Next PC: 002344a6

Yup, still there...

> n

CPU=$2344a2, VBL=902, FrameCycles=312027, HBL=152, LineCycles=731, DSP=$51
$002344a2 : 0000 0005   

Huh? Why are you doing this to me? :-) I can't find a workaround how to trace this line at all. I guess it has something to do with not fetching the operand.

--
MiKRO / Mystic Bytes
http://mikro.atari.org


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/