Trace Logger

Debug ››
Parent Previous Next

Trace Logger


Introduction


The Trace Logger logs every executed instruction and every byte of ROM accessed to the window, or a file if you prefer.  Logging to a file is useful if you just want to dump everything that was executed and then search through it later.  Logging to the window is useful when you wish to see the instructions that were executed prior to a breakpoint being hit.  Both options produce the same data, but the desire to keep that data for a short amount of time or a long amount of time will determine which is best for you.



Using the Trace Logger


The Trace Logger is a very nice feature which logs each instruction as it is being executed; this log can be output either to a file or the window.  If you choose to log to the window, you can set how many lines it will retain before discarding old lines. The higher this setting, the more RAM it will consume, but the more lines you'll have available to work with.  Normally, when logging to a window, the only time it shows the log is if you snap the debugger or pause execution. The option to automatically update the log window will keep the window updating while the game runs; this is normally useless unless it is working with the Code/Data Logger to only show newly-executed instructions.


The Trace Logger has extra options which work with the Code/Data Logger so that it only shows instructions executed for the first time, or those which access data for the first time. This can be quite useful for finding certain key routines or finding otherwise impossible-to-find data in almost any game.  The best way to use this feature is in conjunction with the option to automatically update the window while logging. Then, as you play the game, you can watch new results appear at once. If you're searching for something specific, try to get everything-- EXCEPT what you're looking for-- to execute, then watch closely as what you're looking for executes for the first time.


There are two ways to filter what the Code/Data Logger shows. The first filter lets you log only newly-executed code (so that an instruction is not logged again if it has already been logged). The second logs only instructions when they access data which hadn't been accessed before. Note that both filters can be used at once (which shows bytes that pass either filter).



Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents