Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: a question about debugging chess programs

Author: Uri Blass

Date: 15:18:49 12/26/02

Go up one level in this thread


On December 26, 2002 at 18:12:39, John Lowe wrote:

>On December 26, 2002 at 17:47:37, Uri Blass wrote:
>
>>Is there a fast way to find what is the first step that 2 similiar programs with
>>source code go different when you ignore specific part.
>>
>>I have 2 programs that are supposed to be the same except the fact that one save
>>time in order of moves.
>>
>>They are not the same.
>>
>>What I need is a third program that run the first 2 programs in the same time
>>and tell me the first step that they are different(difference in the procedure
>>that calculates order of moves does not count).
>>
>>I do not like to spend hours on trying to figure out the exact place that they
>>are different when after finding a place that they are different(can happen
>>after millions of nodes) I find again that they are different for different
>>unknown reason.
>>
>>This is exactly what happened to me now.
>>
>>Uri
>
>This may or may not be of help:-
>
>I use a debugger called GRDB which behaves like Microsoft DEBUG but handles 32
>bit instructions.
>
>To get a breakpoint to work and show you some of your data in the middle of a
>move you would need to insert a conditional jump (your condition of course) to
>an int3 breakpoint.
>
>You would then put your program back on track and trace through whatever you
>wanted to  examine.
>
>Changing your conditions for hitting the breakpoint in two similar programs
>would let you know (after a lot of trial and error) where they are diverging -
>and eventually why.
>
>GRDB is available from LADsoft and is available on the net as freeware.
>
>John

I have way to find out after a lot of trial and error a point when two similiar
programs diverge.

If I see that some information is different at node 1000000 then I can ask the
computer to publish the information every 32768(2^15) nodes and compare the
output so I have only 8192 nodes to search next time.

In the second time I can ask the computer to publish the information after every
2^10 nodes
I want to save the trial and error and even in case that I know the exact node
that the information starts not to be the same I still need time to find out the
exact point that it happens and even then it is not always the end of the story
because I may discover that the reason is another information that is not the
same and I did not check.

Uri



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.