delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/04/06/15:15:39

From: Davin Max Pearson <d DOT pearson AT ext DOT canterbury DOT ac DOT nz>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: emacs - three questions
Date: 07 Apr 1998 01:41:26 +1200
Organization: University of Canterbury
Lines: 52
Message-ID: <wk7m539iex.fsf@machine.domain>
References: <3524bc6e DOT 0 AT news1 DOT cityweb DOT de> <wkafa11d0z DOT fsf AT machine DOT domain>
<35283639 DOT 261A AT cs DOT com>
NNTP-Posting-Host: exti141.tacacs.canterbury.ac.nz
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

John M. Aldrich wrote:
> 
> Davin Max Pearson wrote:
> >
> > > 4. If the programm crashes, how can I ran symify over the
> > >    programm output? I can ran it as a shell command, but
> > >    don't know if this is the right way, but it works.
> >
> > One problem that bugs me is how do you find the line number of the
> > crash when your code core dumps.  There must be a way that you can
> > write down the number eip=XXXXXXXX, and later type in that number to
> > find out the line of the crash.
> >
> > The DJGPP FAQ is confusing at this point.  I am presently using printf
> > statements to locate crashes, but this method is cumbersome.
> 
> It's very simple.  When the dump is on the screen, type "symify
> myprog.exe".  The resulting display will show the location of each stack
> frame at the time the crash occurred.  The topmost frame is where it
> happened.  Symify has various options to dump its report to a file or
> read it from a file, or both.
> 
> Chapter 9.2 of the FAQ gives _precise_ information on this subject.
> 

Consider the following extract from ch 9.2:

# directory.  Now invoke your program and do whatever it takes to make it
# crash.  Then, with the traceback still on the screen, type this from the DOS
# command line:
# 
#       symify your-program-name
# 
# You will see the list of source files and line numbers right next to their
# hex addresses.  Now you can start debugging.

Well the problem with this is: What happens if the crash causes your
keyboard to become locked up?

What I can do is to write down the numbers on the screen like
eip=XXXXXXXX and reboot the computer.  What I would like to do then is
to give that magic number to a clever program so that it tells me
which source line the crash corresponded to.

Why does the FAQ say "... with the traceback still on the screen, type
this from the DOS command line:"

Does SYMIFY look at video memory get the numbers like eip=XXXXXXXX?
If so, then is there some other way to manually type in the numbers?

Any clarification of this point would be greatly appreciated...

- Raw text -


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