![]() |
![]() |
![]() |
#121 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 45
Posts: 24,566
|
I guess I forgot to make it less strict when I decided to make this more usable for generic debugging..
But cache "support" is good idea: next update will complain if address was modified and later it gets executed without cache flush (if 68020+). |
![]() |
![]() |
#122 |
Defendit numerus
![]() Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 50
Posts: 2,999
|
|
![]() |
![]() |
#123 |
Registered User
![]() Join Date: Sep 2019
Location: Beirut / Lebanon
Posts: 8
|
W(rite) string with spaces
Using W on the debugger, it's not possible to write a string with spaces. I'm forced to write hex. Am I missing something?
|
![]() |
![]() |
#124 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 45
Posts: 24,566
|
|
![]() |
![]() |
#125 |
Registered User
![]() Join Date: Sep 2019
Location: Beirut / Lebanon
Posts: 8
|
Thanks! Helps having to convert manually
![]() |
![]() |
![]() |
#126 |
Registered User
![]() Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,123
|
@toni - I've had time today to try out the uaedbg side loader and new printf functionality in 4.4.0.
On the uaedbg, I'm finding the debugger is breaking on instruction fetch changes. Configuration is A1200 with Cycle exact, here's my code snippet: Code:
agdPingPong: tst.l .dir beq.s .down bmi.s .up bra.s .exit .down: cmp.w #$8c,CAMERA_YPOS beq.s .swap bsr agdPanDown bra .exit .up: cmp.w #$0,CAMERA_YPOS beq.s .swap bsr agdPanUp bra .exit .swap: not.l .dir bra.s .exit .dir: dc.l 0 .exit: rts Whenever the not.l is executed the debugger is breaking with: Code:
Invalid access. Addr=7000968c RW=R Size=4: Instruction fetch from memory that was modified after being executed at least once Is there any way to disable this particular check if what I think is happening is correct? Cheers, Graeme |
![]() |
![]() |
#127 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 45
Posts: 24,566
|
Instruction prefetch read hits the variable address. Either it happens when branch is executed (branch + next word/long gets loaded depending on alignment) or when jumping to RTS and RTS address is not long aligned (prefetch would load low word of variable and opcode of RTS)
It can't know if it is self-modifying code or just a harmless side-effect. Keep variables further away from code. (I personally prefer using A4 or A5 as a base pointer to variables, I hate unnecessary absolute addresses ![]() There is no option to disable kit, at least not yet. |
![]() |
![]() |
#128 | |
Registered User
![]() Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,123
|
Quote:
I've put in some nops (CNOP 0,16 in Vasm) before the variable and now the debugger is not breaking which is good. While I do point one of the address registers to my global variables I also like the convenience of using local labels because then I don't need to have them as unique names in the global space. I'll make do with the workaround I have. Thanks for the fast response. |
|
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Debugger updates (was: WinUAE Debugger HH PC history) | selco | support.WinUAE | 8 | 14 March 2018 23:27 |
Hacking the fs-uae console debugger | alpine9000 | Coders. Asm / Hardware | 1 | 28 March 2016 17:45 |
Added SegTracker to FS-UAE's Debugger | lallafa | support.FS-UAE | 7 | 16 January 2016 12:03 |
Amiga Segment!!! :) :) | blade002 | Amiga scene | 8 | 08 October 2015 16:00 |
SAS/C: Undefined symbols | Yesideez | Coders. C/C++ | 14 | 13 February 2014 17:36 |
|
|