Mail Archives: djgpp/2002/04/03/01:17:38
X-Authentication-Warning: | delorie.com: mailnull set sender to djgpp-bounces using -f
|
From: | Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
|
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
|
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?
- Raw text -