Computer Chess Club Archives


Search

Terms

Messages

Subject: How do you debug?

Author: Ralf Elvsén

Date: 08:36:30 06/05/00



Some time ago I wrote an "experimental" program in Java, just to learn the
basics. I have now started to port it to C but I am glad I wrote the first
version in Java since I find it much easier to quickly do what I want,
exception handling and threading is very easy etc.

One thing I have in the Java version is a kind of debug mode. For instance,
if I look at the PV and think "why did it choose move X instead of move Y
at ply 6?" , I can enter this debug mode. Then for each ply I will be asked
which branch I want to examine. I step through the moves ply by ply and thus
chose which nodes I want to observe. There I can see how all the moves are
scored, how alpha and beta changes etc. I can also chose to follow the
search after nullmoves.

Running a search in this mode is exactly as a normal search, except that I get
very precise information about what happens. I find this just as superior
compared to a looking at a PV, as the PV is superior to just looking at
the best move at the root. I found many search- and evaluation bugs
in this way. The downside is that the code tends to become kind of messy
(and a new class of bugs is introduced) and I am not looking forward
to do it in C. Before I once again start to implement this I
would like to hear if this is a common way to debug, or if you have an
even better method I sure would like to hear about it.

Ralf



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.