www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/03/27/02:29:50

From: Guangxi Wu <wuxi AT unixg DOT ubc DOT ca>
Subject: Help on Exception 33 (0x21)
To: djgpp AT sun DOT soe DOT clarkson DOT edu (DJGPP)
Date: Fri, 26 Mar 93 23:16:19 PST

Hi, netters:

    I wrote (more exactly, modified) a C program. It has been compiled
and run perfectly by Turbo C++. It gives the right result. Then I tried
to compile it using djgpp (both version 1.08 and 1.09 on two different
machines). It compiles and links perfectly, no error or warning message.
Then I use go32.exe to run the program. It stops abnormally, giving a
message:  

Exception  33 (0x21)  at eip=66b7 (this number is different on two machines)

Then I use debug32 to see what's going on (I only know a little about
assembler). The program stops in the function _sbrk() (within malloc()),
at the instruction:

0000066b5:cd21   int  0x21

(lots of register values omitted)

exception  33 (0x21) occured.

    Now the problem is: I can't find any problem in the source code.
It seems to me that the problem lies in malloc() or sbrk(). However,
I am not sure and if yes, I don't know how to fix it. Has anyone
out there encountered similar problem? Is there any way to fix such
problem?   Any help will be greatly appreciated. Thank you all.

    Have a nice weekend.

  Guangxi Wu                      |  wuxi AT unixg DOT ubc DOT ca
  Dept. of Bio-Resources Eng.     |  guangxi_wu AT mtsg DOT ubc DOT ca
  Univ. of British Columbia       |   
  Vancouver, B. C.                |  (604)-822-4507 (Office) 
  Canada    V6T 1Z4               |  (604)-228-0434 (Home) 

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019