This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

How to use FCEUX debugger more efficiently?

How to use FCEUX debugger more efficiently?
by on (#199821)
I have 2 things for which I have problems with FCEUX

1-) When I put a breakpoint on the reading of a value, I would like the debugger not to stop if this is a specific adress.
For example, I search where $0300 is read. However, for like 3 places, I know and I don't want the debugger to stop on those 3 places. The thing is that there may be other time it's read during gameplay, but since it's stopping at those 3 places every cycle, I cannot play while having the breakpoint.
Having a condition is not gonna work in this case, value isn't changed.

2-) How to you write the conditions in the debugger?
Re: How to use FCEUX debugger more efficiently?
by on (#199826)
Add a condition to check that the value of PC is not one of the undesired values:

Code:
(P != #1234) && (P != #FACE) && (P != #BEEF)
Re: How to use FCEUX debugger more efficiently?
by on (#199827)
you can add "forbid" breakpoints, which means it won't break when you hit the memory location they are assigned to.

Not sure on the conditions sorry
Re: How to use FCEUX debugger more efficiently?
by on (#199829)
Multi-step...
-first go through a frame with reads for $300.
-every time it's at a place you want, add a breakpoint for execution at that address
-at the end, remove the breakpoint for reads on $300

You can also add a dummy bit of code just before the spot you want to break, and add breakpoints for writes to that...
INC $ff
(Where $ff is unused)
Re: How to use FCEUX debugger more efficiently?
by on (#199834)
thefox wrote:
Add a condition to check that the value of PC is not one of the undesired values:

Code:
(P != #1234) && (P != #FACE) && (P != #BEEF)


Thanks so useful!!