Date: Tue, 18 Jan 94 20:24:48 JST From: Stephen Turnbull 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 | +-----------------------------------------------------------------------+