delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/01/18/07:15:34

Date: Tue, 18 Jan 94 20:24:48 JST
From: Stephen Turnbull <turnbull AT shako DOT sk DOT tsukuba DOT ac DOT jp>
To: djgpp AT sun DOT soe DOT clarkson DOT edu, beta AT qdeck DOT com, ghostscript AT aladdin DOT com
Subject: debugging Ghostscript and using symify

I'm trying to figure out what is happening in a beta version of
Ghostscript, configured for DESQview/X and compiled with DJGPP v 1.11,
GNU C v 2.5.4.  I plan to upgrade to GO32 v 1.11.maint2 and GNU C v
2.5.7 "RSN", but getting the files is expensive from Japan (I think
there's only one 2400 baud modem line across the Pacific :-( )
    (1) When processing a large color PostScript file, GS manages to
crash DV/X with the message "DESQview/X terminated abnormally \n No
more memory".  However, DV/X's memory status and system monitor
programs do not detect GS using any memory after it initializes and
begins processing the file.  As I understand it, calls to memory
allocators should get their memory from VCPI (since I'm using QEMM),
and therefore QEMM and DV/X should be able to detect this.  Is this
assumption correct, or are there ways around this for a program which
is entirely written in C?  (GS does implement a garbage collection
scheme, but it is done entirely in C.  I believe it gets its memory
originally from malloc.)
    The next question is pure DJGPP.
    (2) I occasionally get a crash with a backtrace, and would
like to figure out what routines have been called.  As I understand
symify, all I need to do is run "symify gs.exe" after the crash
(gs.exe is a stubbed executable).  However, all I get are the same
hexadecimal locations that were produced by GO32 after the crash.
    It occurred to me that perhaps it was necessary to compile with
the "-g" option to get the debugging information included (this is not
mentioned anywhere that I've been able to find, but it seems
plausible), but I'm pretty sure that this is being done.  (I'm not
100% sure, because "-g" is included in the "CFLAGS" variable in the
makefile, but there are a couple of compilations that are done without
those flags in order to avoid the "-O" which is also defined in
CFLAGS.  I forget which they are, but it's only one or two modules.)
Is "-g" necessary to use symify?  Is something else needed?  Or is
this a bug fixed in one of the maintenance releases?  (If it's the
last, mea culpa, I'll get the new stuff installed a.s.a.p.)

+-----------------------------------------------------------------------+
|                           Stephen Turnbull                            |
|     University of Tsukuba, Institute of Socio-Economic Planning       |
|          Tennodai 1-chome 1--1, Tsukuba, Ibaraki 305 JAPAN            |
|        Phone:  +81 (298) 53-5091     Fax:  +81 (298) 55-3849          |
|               Email:  turnbull AT shako DOT sk DOT tsukuba DOT ac DOT jp                 |
+-----------------------------------------------------------------------+

- Raw text -


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