• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Game Modifications › Cheats, Hacks, & Game Patches v
« Previous 1 ... 9 10 11 12 13 ... 18 Next »

WIP Debugger build
View New Posts | View Today's Posts

Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
WIP Debugger build
01-10-2019, 07:03 AM (This post was last modified: 01-23-2019, 04:37 PM by One More Try.)
#1
One More Try Offline
Posting Freak
*****
Posts: 886
Threads: 23
Joined: Dec 2014
I'm working on debugger features, if anyone wants to try them.  Hearing bugs or criticisms would be nice. Build is attached, needs to be placed in a current dolphin install folder next to dolphin.exe.

Adds:
Font based sizing. More columns in code and memory view. Scales to font sizes.
Tracing - want to know where a value in a register or float register came from?  Back Tracing can usually find it.
Diff -  finding functions based on when they run. Ex: finding health related functions by taking damage while using Diff.
Auto-calculate load/store target memory. Just right click the instruction in code view.

Memory view can update while the game is running.
Memory widget's data input works way better.
Memory view shows memory target of current instruction (if game stops due to a memory breakpoint, it will highlight that memory).
Shift click in memory view to add address to the address box (useful for changing a bunch of values quickly).
Crtl click in memory view to add the hex data to the data box.

Float to hex converter in the memory widget (maybe I should just add float as an input data type).

Numerous other fixes and tweaks.

/edit Updated the attachment.
Tweaks. Mainly:
1. CodeView works better. Scrollbar always works. Better spacing of instructions.
2. Memory - ignore case for find ASCII. Data input and Find Value option for Float (single).
3. Fixed Tracing bugs - too many instructions being returned.

Cheat search details

Be sure to backup your config folder, just in case something gets messed up. Found at: documents/dolphin emulator/config or user/config for portable.


Attached Files
.7z   WIPDebugger2.7z (Size: 3.06 MB / Downloads: 244)
.7z   WIPDebugger+CheatSearch.7z (Size: 3.06 MB / Downloads: 287)
Find
Reply
01-13-2019, 09:26 AM
#2
dreamsyntax Offline
Junior Member
**
Posts: 8
Threads: 1
Joined: Oct 2018
Excellent job with all the recent commits to Dolphin!

Your work has made using the new debugger a much better experience.
I'll give this build a try, but I've mostly just been sticking to latest dev updating daily.
Find
Reply
01-14-2019, 04:58 AM (This post was last modified: 01-14-2019, 11:23 AM by One More Try.)
#3
One More Try Offline
Posting Freak
*****
Posts: 886
Threads: 23
Joined: Dec 2014
There are still some minor bugs in the WIP build, but my actual PRs should have it all fixed up.

/edit I'll try to add most of my updates to the WIP build. Edited first post.
Find
Reply
01-17-2019, 07:44 AM (This post was last modified: 01-18-2019, 09:03 AM by One More Try.)
#4
One More Try Offline
Posting Freak
*****
Posts: 886
Threads: 23
Joined: Dec 2014
I jammed the Wx cheatsearch into the Qt build. It's a little hacky, but it seems to work fine. I dropped most of the Qt cheat search features (watch list, strings, etc), because it was too much to sort through and combine with the Wx stuff.

Much faster.
Re-adds Wx's unknown value and compare to last search (leave search box blank). A very important feature.
Adds extended memory options - 0x9000000 and 0x7E000000 can be searched. Only applies on new search pressed.
Adds custom range for searching. Only applies on new search pressed. Will default to preset values if input is invalid. Rounds the range to 0x10.
Always shows the first 4096 results.
Auto refreshes the visible results, and you can set the auto refresh interval. Values under about 50ms will tax your CPU.
Adds right click copy address/value.

bug? This and the original Qt implementation trigger &Host::UpdateDisasmDialog on Update(). This causes various triggers to fire off. Could be a problem with fast auto-refresh timers, but I don't see anything breaking. How do I properly signalblock that?

I also had a crash with my WIP builds that seemed to reset my dolphin config. So be sure to backup documents/dolphin emulator/config or user/config for portable.

Check first post for attachment.
Find
Reply
01-17-2019, 08:44 AM (This post was last modified: 01-17-2019, 09:03 AM by retroben.)
#5
retroben Offline
N64 Code Hunter
****
Posts: 328
Threads: 21
Joined: Jul 2015
(01-17-2019, 07:44 AM)One More Try Wrote: Adds extended memory options - 0x9000000 and 0x7E000000 can be searched. Only applies on new search pressed.

To clarify the reason 0x7E000000 is added for anyone wondering,at least 1 Gamecube game uses this address range,that game is The Simpsons Hit & Run (GHQE7D).
I don't know what other Gamecube games use extra memory and where they might store it if not the same 0x7E000000 location.

Simpsons Hit & Run uses this address location for vehicle data like Homer's Family Sedan location/physics data/speed and acceleration/health/etc.

Edit: An example,the pointer usually for the Family Sedan (in level 1) is stored in 0x803CC6E0 and my value reads 7E20F6FC .

Edit2: Also,search for 44bb8000 in that 0x7E000000 range on this game to find a value you can change to alter the car's physics and acceleration in an odd way to prove the memory there can be found and altered.
Shield TV Pro (stock/non-rooted OTA 6.3)

Acer Aspire E 15 E5-575G-59EE

CPU: i5-6200U 2.3-2.8Ghz _ GPU: Nvidia GeForce 940MX 2GB (GDDR5) VRAM
Hyundai 8GB DDR4 Dual-channel SDRAM _ 1000GB HDD
New; CPU: Intel i9 9900KF_ GPU: Nvidia RTX 2060 Super | ◕‿◕
Find
Reply
02-03-2019, 06:11 PM
#6
Koestu Offline
Junior Member
**
Posts: 38
Threads: 7
Joined: Feb 2013
I tried the WIP version in the first post.
It's similar to the current builds, though with similar issues. The biggest problem is even setting breakpoints. Previously, it was simply clicking left of the address in the Code view. Now that does nothing. The right-click menu isn't very clear about it either in this version. So I think the only way to set a breakpoint is by going to the Breakpoint tab, clicking the button to add a breakpoint, then clicking in the box and typing in the address.

The Memory view is somewhat lacking too. When the game is running, no values are visible at all when previously at least the values appeared without having to pause the game.

Regarding the UI, I liked the way I had it set up on older versions of the emulator where I could have tabs for 4 things in the window without having to maximize the window or have the game list in the way. I'd try floating windows, but having floating windows for every tab is too clunky for me. Is it possible to dock on a separate window? That way I could just put it on top of the game list and get a lot more room to work with.
Find
Reply
02-03-2019, 07:20 PM (This post was last modified: 02-03-2019, 07:20 PM by One More Try.)
#7
One More Try Offline
Posting Freak
*****
Posts: 886
Threads: 23
Joined: Dec 2014
Left clicking the empty column on the left in code view still sets breakpoints. What system are you running dolphin on? Maybe it's a compatibility issue.

In my version, the memory values are visible while the game is running. You should be seeing them.

I'd need to see a screenshot of your old setup to know. I'm not sure about making a separate window to dock the debug windows to. Do you want to render the game to a new window and hide the games list in the main window, so the whole original window can be used for debugger windows?
Find
Reply
02-24-2019, 09:30 AM
#8
dreamsyntax Offline
Junior Member
**
Posts: 8
Threads: 1
Joined: Oct 2018
This is more of a Dolphin issue and less of your debugger build;
But can we find out why Dolphin is super unstable in debugger mode?
 
The amount of crashes Dolphin has with read/write memory breakpoints is super annoying. Running in cached Interp helps for some cases, but there are times when even that does not help. With that said...

I've been using your build for a quite some time.
I'm surprised your changes still aren't merged to master yet. These are super helpful changes.
The old setup is about as stable, but your version has much needed functionality.

Is there any way I can help expedite getting this to the official branch? The stability level is the same.
Find
Reply
02-24-2019, 03:29 PM (This post was last modified: 02-25-2019, 09:43 AM by One More Try.)
#9
One More Try Offline
Posting Freak
*****
Posts: 886
Threads: 23
Joined: Dec 2014
In the normal dolphin build there can be updates to the code/memory widget at times there shouldn't be and that can cause errors. I've been working on more stuff and I think I reduced errors a bit more. Not sure about memory breakpoints though, those are more complicated.

Since I can just build and use it whenever, I haven't been vocal about getting the changes pushed through. Just focusing on adding/refining stuff. I don't think there's anything for you to do. Need people to review the PR until it's error free, as I just recently learned how to code this stuff.

/edit Forgot to mention I plan on rebasing this on the most recent dolphin build and re-uploading. Just working on a few minor things first.
Find
Reply
« Next Oldest | Next Newest »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode