Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Q. Why might node count differ between DEBUG and RELEASE

Author: Robert Hyatt

Date: 20:40:27 12/13/04

Go up one level in this thread


On December 13, 2004 at 20:14:16, Dann Corbit wrote:

>On December 13, 2004 at 16:12:54, Robert Hyatt wrote:
>
>>On December 13, 2004 at 06:21:24, David B Weller wrote:
>>
>>>Hi,
>>>
>>>Inspired by a post over in the WB forum, I tried doing a 9 ply search from start
>>>position. The DEBUG version searched fewer nodes.
>>>
>>>I am currently trying to switch off opt flags but so far I cant seem to pinpoint
>>>the culprit.
>>>
>>>Any ideas what this means?
>>
>>Almost certainly a undefined/unitialized variable.  They are allocated on the
>>stack, and when you disable debug code, stack penetration/usage is changed,
>>changing the values for variables that are not properly initialized.  This can
>>also be an artifact of bad subscript values going outside an array that is on
>>the stack, for the same reason.
>>
>>
>>>
>>>using vc 2005 express beta
>
>If you turn warning level up to the maximum, any uninitialized variable will be
>diagnosed with the VC 2005 Express compiler.


"some" will be found.  :)  With pointers, it isn't so easy.  IE if I pass a
pointer to an unitialized variable to a procedure, the compiler won't know what
is going on and the code will fail...  The compiler won't notice in the caller
that I am using the value before initializeing it, and in the external
procedure, it won't have any idea I am passing in a pointer to a variable that
is not initialized.  "BOOM".  :)




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.