Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: a question about debugging chess programs

Author: Uri Blass

Date: 15:26:14 12/26/02

Go up one level in this thread


On December 26, 2002 at 18:18:49, Uri Blass wrote:

>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.

correction, 32768 nodes.

I simply wrote and deleted and forgot what I wrote.
It is possible to look on a  table of 100 numbers to see the difference but
usually I decide that it is too much so I corrected 8192 to 32768 and forgot to
correct it a second time.

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.