Log Steps - Log Location

Started by live2play, April 28, 2010, 04:15:44 AM

Previous topic - Next topic

live2play

When you select Log Steps in the Breakpoint dialog of WiiRD, to where is the log written?

wiiztec

In a text file called steplog.txt in the folder that you have WiiRd in
If there's any code at all that you want to be button activated, or even able to toggle on & off, and I have the game, just PM me and I'll make it happen

live2play

#2
I looked.  There's no such file there.  Any other ideas?

Does the log get deleted whenever you exit WiiRD or do you specifically have to select Clear log to clear it?

Actually, I think I'm misunderstanding the use of the log.  It probably only contains the instructions that are processed when I'm selecting Step, right?  I have a breakpoint in the main program loop that triggers immediately.  I set a condition for a register so that it only triggers at the point in which I'm insterested.  However, I want to look at the instructions skipped so that I can see what it is doing prior to my condition being met.  I thought that the log would contain that information.  Is there any way to get what I'm speaking of?

wiiztec

No but if your breakpoint is triggered and  then you set a breakpoint condition and press step WiiRd will automaticly step through the ASM untill the condition is met and the step log will log that
If there's any code at all that you want to be button activated, or even able to toggle on & off, and I have the game, just PM me and I'll make it happen

live2play

Ok, so you're saying don't enable my additional condition (e.g. r11=########) until after the BP immediately hits when I select Set Breakpoint and then use Step until the breakpoint hits again?

wiiztec

You could but it's not really the same thing as It won't necessarily break on the address of your original breakpoint and if it was an excute breakpoint then it definitely won't
If there's any code at all that you want to be button activated, or even able to toggle on & off, and I have the game, just PM me and I'll make it happen

live2play

If you can explain your comment below in more detail, I would appreciate it.  How would I accompplish this?  Given that my breakpoint doesn't trigger unless I have additional conditions (e.g. r11=########), there isn't a way for me to waituntil it's triggered and then set another condition.

Quote from: wiiztec on April 28, 2010, 05:36:47 AM
No but if your breakpoint is triggered and  then you set a breakpoint condition and press step WiiRd will automaticly step through the ASM untill the condition is met and the step log will log that

wiiztec

The best way to understand it is to try it, and I'm pretty sure what you want it to do is not possible, If you want to know what ASM routine lead to your breakpoint being triggered you'll have to follow it back manually using dcx2's guide http://gshi.org/faqs/Wii_FCAAWTS.html once you find the begining of the routine you can set a breakpoint on it and then set a breakpoint condition SRRO = (the address your original breakpoint broke on) and press step and it will step through untill it gets to your original breakpoint
If there's any code at all that you want to be button activated, or even able to toggle on & off, and I have the game, just PM me and I'll make it happen

dcx2

When I get my laptop running again, and I re-install Visual Studio C# Express, I'll go back to developing Gecko.NET.  I do plan on adding logging capabilities, much like the ones live2play requests...eventually.

Unfortunately, the laptop is giving me a humongous headache because it's an old Windows XP Media Center Edition laptop, with a Host Protected Area that fubar'd my attempt to clone with Acronis.  And I'm getting ready to move to a new apartment, which will further reduce my free time.

live2play

wiiztec and dcx2, thanks for the help.  As always, greatly appreciated!

live2play

The comment about SRRO is interesting.  What exactly does that register hold?

Quote from: wiiztec on April 28, 2010, 06:17:55 PM
If you want to know what ASM routine lead to your breakpoint being triggered you'll have to follow it back manually ...once you find the begining of the routine you can set a breakpoint on it and then set a breakpoint condition SRRO = (the address your original breakpoint broke on) and press step and it will step through untill it gets to your original breakpoint

dcx2

SRR0 is like the Instruction Pointer or Program Counter.  It holds the address of the current instruction.

live2play

Do you only use it in the way wiiztec suggested or are there other ways you use it as well?

dcx2

It can be used to prevent breaking on a certain instruction, by using one or more SRR0 != tests.  It can also be used to force breaking on a particular instruction with a single SRR0 == test.

live2play

Actually, this brings up a good point.  I haven't yet, but I will start using Gecko.NET.  Does it have an option to allow multiple breakpoint criteria?  For instance, let's say you want a breakpoint at address A but only if X and Y are true.