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


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Support v
« Previous 1 ... 1070 1071 1072 1073 1074 ... 1197 Next »

Memory breakpoints don't break on correct PC?
View New Posts | View Today's Posts

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Memory breakpoints don't break on correct PC?
03-11-2010, 05:05 AM
#1
BLJRacer
Unregistered
 
Hi. I'm new to Dolphin and I don't know much PPC ASM. I don't know if this post belongs to this category (please move it if it doesn't).

Basically, I've found an interesting memory address in a game. I would like to read the code that uses the value on this zone, so I've compiled the DebugFast version of Dolphin (SVN R 5173M), set up the memory breakpoints, and switched the CPU to interpreter mode.
The game stops when the value changes, but it doesn't seem to break where the value changes. If I look at the value, it has already changed, and the previous instructions don't look like they're modifying that value.

Is that the expected behaviour? Am I missing something?
Reply
03-11-2010, 08:42 AM
#2
skid Offline
skidau / skid_au
**********
Developers (Some Administrators and Super Moderators)
Posts: 2,006
Threads: 8
Joined: Aug 2009
Yeh, there is a bit of a design fault with the memory breakpoints in Dolphin.

What I've done is to hack the code to log the PC as the WriteToHardware function is called.
Find
Reply
03-12-2010, 02:42 AM
#3
BLJRacer
Unregistered
 
Thanks a lot, at least it works now.

If someone's having the same problem, here's what I did:

On the functions that check for breakpoints (look for WriteToHardware calls), add inside the "if (mc)" block:

Code:
DEBUG_LOG(MEMMAP, "Write_U8 to %.8X from PC %.8X (Data=%u)", _Address, PC, _Data);

Obviously changing the function name, and for the 64-bit write, the %u to a %llu (not tested!)

Then, enable memmap logging on the log window, and it'll show you the information about the operation so you can set a BP.
Reply
03-12-2010, 04:24 AM
#4
BLJRacer
Unregistered
 
Found a simpler way, just edit the first funcion of Breakpoints.cpp (TMemCheck::Action) to add the PC to the debug line.
Reply
« Next Oldest | Next Newest »


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


Users browsing this thread: 2 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode