18 May 2007, 16:12 | #1 |
Registered User
Join Date: Aug 2004
Location: 19 Jump Street
Posts: 238
|
Improved Debugger
I've been using the new WinUAE debugger for a little while now, and I think it's great. Brilliant work Toni, and anyone that may have assisted I've come up with a mockup on how to improve it, in my eyes at least...
Basically, I want as much information available to me as possible. I'm used to the new way of debugging, where you have a disassembly, memory, stack, etc. all visible in realtime. WinUAE already does all of this, but everything's hidden unless you call the command (much like Action Replay, etc). What I'm suggesting is having everything on one screen, updated in realtime. So for example, I'm sitting at 407CE. I press F10 (step over) or F11 (step in) and each of the windows is updated. I can also browse through memory or the disassembly simply by using the scrollbars. I find having to trace and browse one at a time extremely tedious. Not shown in the screenshot is the stack which would be a nice thing to have somewhere as well, but I have no idea where to put it due to screen space. Also as I mentioned, hotkeys would be great. F10 to step over, F11 to step in, F2 for (un)setting a breakpoint, etc. Obviously anyone that wants the old school style of debugging can freely use the "Debugger CLI Output" section. The command line wouldn't be phased out as that gives a lot of power for other things such as the fa command, setting watchpoints, etc. For those that have never used this type of debugger before, check out OllyDBG ( http://www.ollydbg.de/ ). Simply drag a Windows executable into it. It will load (if the file is compressed, it'll tell you, so ignore it for this test) and press F10 to step over (or F11 to step in). You'll notice that everything is updated. I feel this would be a much more user friendly experience. This is of course, up to Toni. I support the quest for complete and precise A500 emulation much more than this idea, however should boredom strike, this can be a nice side project Any other ASM types think this may come in handy or is it just me? |
18 May 2007, 17:29 | #2 |
Registered User
Join Date: Aug 2004
Location: 19 Jump Street
Posts: 238
|
Whoops. I just realized that OllyDBG doesn't use F10 and F11 for tracing F8 is step over. F7 is step into. heh. It's been a while.
|
18 May 2007, 22:55 | #3 |
Global Moderator
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
|
I like this idea and think it would be an awesome improvement, though I know Toni hates gui development :/
|
18 May 2007, 23:24 | #4 | |||||
Registered User
Join Date: Mar 2006
Location: Germany
Posts: 899
|
Hey Jason,
since Toni didn't post yet and I'm the one who did it with him, I hope you don't mind posting my point of view. Thanks for your interest in the GUI debugger, nice to see someone using it. Actually it was your thread that made me thinking the powerful debugger could need a more powerful frontend than the console and start working on it. First thing is that you need to remember this isn't OllyDbg nor OllyDbg for WinUAE, each has it's own requirements and philosophy behind it. And even if it would be like OllyDbg, there would be people asking why it isn't like <insert favourite debugger here>. So if something will be implemented there needs to be an interested developer and/or enough demand for a feature. Quote:
Quote:
Quote:
Quote:
Quote:
|
|||||
18 May 2007, 23:55 | #5 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,507
|
Most debugger features were added because they were needed for compatibility testing, it was never meant to be used for other things or being user friendly
I still use console version but updates and patches to GUI version are accepted. |
28 May 2007, 14:50 | #6 | |||||||||
Registered User
Join Date: Aug 2004
Location: 19 Jump Street
Posts: 238
|
Sorry for the delay in reply. Busy busy
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Thanks for the comments and feedback guys! I'm still hoping that one day the debugger goes in the direction I outlined here, but really, if it doesn't, it's no big deal |
|||||||||
28 May 2007, 15:26 | #7 | ||||||
Registered User
Join Date: Mar 2006
Location: Germany
Posts: 899
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Last edited by thor; 28 May 2007 at 15:39. |
||||||
28 May 2007, 21:04 | #8 | ||
Registered User
Join Date: Aug 2004
Location: 19 Jump Street
Posts: 238
|
Quote:
Quote:
I also hope others contribute to WinUAE. Just about every user bug Toni constantly for something, which is unfair to him. I myself have contributed to WinUAE years ago, but I don't think my code made it into the official distribution (as did many other "hacks" of that time). I don't have the time anymore, so I really do hope more developers step up and make this a joint effort (like other open source projects, such as MAME). |
||
16 February 2008, 08:14 | #9 |
Registered User
Join Date: Mar 2006
Location: Germany
Posts: 899
|
Check next WinUAE beta
|
17 February 2008, 12:58 | #10 |
Registered User
Join Date: Mar 2006
Location: Germany
Posts: 899
|
Some user info for changes:
- F11 / F12 are shortcuts for 'z' and 't' commands respectively - added disassembly and memory window to main (F1) window - disassembly windows can be automatically set to current PC (option 'Auto set', shortcut Alt+A, F1-window is always set to PC) - context menus for disassembly (copy+breakpoint functions) and memory (copy+set location) windows - breakpoints shown graphically - direction indicator for jumps/branches - current instruction highlighted Note: the instruction that is responsible for highlighting the changed values accidently ended up where it shouldn't be, so they aren't highlighted anymore and Toni released the beta before reading the mail, so either Toni updates beta 1 or wait for beta 2 |
20 February 2008, 11:28 | #11 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,172
|
Just a few words to say that I used the GUI version of the debugger to fix games using WHDLoad and I like it. Any extra improvements are welcome.
excellent work guys. |
20 February 2008, 14:40 | #12 |
Registered User
Join Date: Mar 2006
Location: Germany
Posts: 899
|
Nice jotd, thanks. I wondered if anyone else is using the GUI.
There will be probably one other patch (in-place editing) for the 1.5.0 beta series. If someone has ideas/suggestions for further improvements, they are highly welcome, but probably won't do them soon due to time constraints. |
20 February 2008, 16:24 | #13 |
Registered User
Join Date: Aug 2004
Location: 19 Jump Street
Posts: 238
|
Sorry I haven't posted yet. Real life and stuff...
I've given the new debugger a test run and it's unbelievably good! Having everything updated on one screen makes life so much easier. Thanks for putting in the time, thor. I had no idea anyone was even doing it I do have a few suggestions. Whether or not they get implemented is no big deal. I think where's it's been taken already is a great step First, a bug that occurs for me... When I right click in the memory area and select "Set Top Address", the window is created off screen. It's still usable, but off screen. Also related to that window is I can keep clicking "Set Top Address" and it'll keep creating those windows. Maybe just have 1? or make it modal so we can't do anything until the window is closed? Now for suggestions... - A minimize window button maybe? Noone else finds it annoying that they can't minimize the debugger window? I always have a huge window open to see more, so it covers my desktop. - "Set Top Address" for the disassembly window too? Of course, pressing F11/F12 to step through will set the top address back to the current position however it would be nice to be able to view other disassembly. - Scrollbars for the disassembly and memory window. A lot of times I like to snoop around and see what's around before I trace over instructions. As I said, F11/F12 would bring the focus back to whatever the disassembly is currently at. Maybe the memory window can stay at whereever we've scrolled to? - When stepping through using F11/F12, how about it keeps the current screen of disassembly until it reaches the instruction below the bottom one, then it'll refresh with the next screen of disassembly. So for example, if I'm viewing C1BAAE up to C1BAD4 in the disassembly, when I step through, C1BAAE will remain at the top. When I step over C1BAD4, the new screen top becomes the instruction under C1BAD4 (eg. C1BAD8). - For the disassembly (and maybe even memory window if possible), right click "Find All References To This Address"? I believe it corresponds to command fa - Right click Breakpoints -> "List breakpoints". fl? - Right click in the memory window and "Set value" to set a value for a memory address? Sort of like W C04397 35 - The ability to change the height of each of the sections. So I can make the disassembly larger than the memory window for example. I assume this one may be difficult since it looks like the debugger isn't using something like dockable windows right? oooh. Dockable/undockable windows.... I also have some general debugger improvements which I guess are directed more at Toni. I hope noone minds me hijacking my own thread I loved the ability in AR3 to see where a function starts and ends. Any chance of seeing something like that? Maybe directly after each RTS/RTE/JMP/BRA/etc? So it'll look something like: 00C1BAAE 4a42 TST.W D2 00C1BAB0 6604 BNE.B #$00000004 == $00C1BAB6 (T) 00C1BAB2 4483 NEG.L D3 00C1BAB4 4e75 RTS.L ====================================================================== 00C1BAB6 2003 MOVE.L D3,D0 00C1BAB8 2f0e MOVE.L A6,-(A7) 00C1BABA 2c6d 03d8 MOVEA.L (A5, $03d8) == $00c2b484,A6 00C1BABE 4eae ffc4 JSR.L (A6, -$003c) == $00c3679a 00C1BAC2 2c5f MOVEA.L (A7)+,A6 00C1BAC4 2600 MOVE.L D0,D3 00C1BAC6 7401 MOVE.L #$00000001,D2 00C1BAC8 4e75 RTS.L ====================================================================== 00C1BACA 5257 ADD.W #$00000001,(A7) 00C1BACC 60cc BT .B #$ffffffcc == $00C1BA9A (T) ====================================================================== 00C1BACE 6100 ff92 BSR.W #$ff92 == $00C1BA62 00C1BAD2 60d4 BT .B #$ffffffd4 == $00C1BAA8 (T) ====================================================================== 00C1BAD4 6000 ff9c BT .W #$ff9c == $00C1BA72 (T) ====================================================================== With the D command, how about the option "must be different"? Also with the D command, the ability to reset the search? Like the C command by itself, the D command doesn't seem to have this option (as far as I can see anyway). Like I said, none of what I've suggested above need to even be implemented. I love what we have now and I appreciate the time everyone's put in. Great stuff! Anyway, enough from me. I'm sure my annoying factor has gone up ten fold now. I'll shut up now |
20 February 2008, 16:56 | #14 | ||||||||||
Registered User
Join Date: Mar 2006
Location: Germany
Posts: 899
|
Thanks Jason for your constructive comments.
Quote:
Edit: The menu or the window where you enter an address? Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Last edited by thor; 20 February 2008 at 17:10. |
||||||||||
20 February 2008, 17:35 | #15 | ||||||
Registered User
Join Date: Aug 2004
Location: 19 Jump Street
Posts: 238
|
Quote:
I can't drag it into view either, however with it enabled, I'm able to enter the address and press ENTER or press ESC for it to go away. Quote:
Quote:
Quote:
Thanks thor! |
||||||
20 February 2008, 17:53 | #16 | ||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,507
|
Quote:
Quote:
|
||
20 February 2008, 17:55 | #17 | |||
Registered User
Join Date: Mar 2006
Location: Germany
Posts: 899
|
Quote:
Quote:
Quote:
|
|||
20 February 2008, 18:42 | #18 | ||||
Registered User
Join Date: Aug 2004
Location: 19 Jump Street
Posts: 238
|
Quote:
Quote:
Quote:
Quote:
|
||||
20 February 2008, 19:08 | #19 |
Citizen of Elthesh
Join Date: Sep 2003
Location: UK
Posts: 949
|
|
20 February 2008, 22:03 | #20 |
Registered User
Join Date: Mar 2006
Location: Germany
Posts: 899
|
Problem found. Wasn't my fault Has nothing to do with Gamebase.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
improved joystick | s2325 | Amiga scene | 0 | 18 January 2011 22:47 |
Improved drive sounds | Viceroy | support.WinUAE | 4 | 11 November 2009 22:14 |
Improved screenshot capabilities | Jim | request.UAE Wishlist | 9 | 21 December 2004 04:47 |
New Improved Total-Amiga.Com | Tonycrew | Amiga websites reviews | 7 | 22 April 2002 01:50 |
New improved Romcenter!! | Big-Byte | Retrogaming General Discussion | 6 | 15 October 2001 13:34 |
|
|