X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-bounces using -f From: Eli Zaretskii Newsgroups: comp.os.msdos.djgpp Subject: Re: DOS/Windows Pointer Corruption Date: Wed, 03 Apr 2002 09:07:10 +0300 Lines: 34 Message-ID: <3CAA9C0E.24631B8C@is.elta.co.il> References: <3CAA5C53 DOT 6020805 AT vif DOT com> NNTP-Posting-Host: 192.116.55.139 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: fu-berlin.de 1017814284 29046731 192.116.55.139 (16 [61365]) X-Mailer: Mozilla 4.7 [en] (Win98; I) X-Accept-Language: en To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Sahab Yazdani wrote: > > okay, first off I know that if my program is working fine in Windows but > not in DOS it usually means that there are pointer bugs in my program, > BUT, i have initialized a VESA2.0 screen (which returns a pointer to RAM > that acts as the primary draw surface) which I am %110 sure that the > pointer is valid (cuz after all, i can draw on it in Windows and > actually see the results) and then I try to clear it to black via this call: > > memset( memPtr, 0, width*height*bitDepth>>3 ); > > now on windows this works fine, but on plain DOS it chokes on this exact > line (via symify). Doesn't the VESA initialization function returns a pointer in conventional memory? If so, you cannot use memset with it, unless you enable near pointers and add __djgpp_conventional_base to the pointer VESA returns. Also, what size is the memory region set up by the VESA function, and what is the value of width*height*bitDepth? > PS. why doesn't symify give line numbers on a traceback anymore?? Didn't you just say that you were able to find the offending line via symify? How did you do that if it doesn't show line numbers? > it > still gives function names (although mangled up cuz of C++) and > filenames, but the line number is always 0 now. i guess it has > something to do with my upgrading to GCC 3.0.3? No, symify works just fine with GCC 3.0.3 (and 3.0.4), I use it all the time. Does the problem happens in C programs as well, or only C++ programs? Can you show a simple program on which symify doesn't work?