greg@isrnix.UUCP (Gregory Travis) (06/28/88)
Is there a way, using either sdb or db (from Manx), to breakpoint
a program whenever it modifies a location from __H0_org to
__H0_end? I'm trying to track down programs which modify their text
segment and therefore cannot be used with REZ (as sharable programs).
I tried using the memory hash function with db: "bh __H0_org>__H0_end"
That would trigger a breakpoint, but the stack was trashed and my machine
would GURU whenever the program was re-started. Since the program ran
correctly if not run under db, I assumed that it was a
bug in the debugger. I cannot find the equivalent of the "bh"
command in my SDB docs. Is there a better way to do what I'm trying to do?
Why does SDB strip all but the final component of a pathname off when
doing an open? For example, suppose I have a source directory (src:) of two
levels such that:
src: main.c Aux
src:Aux
others.c
and I compile & link main.c and Aux/others.c in src: to produce src:main.
If I "sdb main", it cannot find the source to function calls whenever
main.c calls something in Aux/others.c. However, it complains that it
cannot open "Aux/others.c" but in reality it's trying to open just "others.c".
I discovered this playing around with SDB with MicroGnuEmacs. I got
around the problem using the "-s" option, but it seems it really
should have looked in the directory without my having to explicitly
state the possible location. Are there good reasons for this?
--
Gregory R. Travis
Institute for Social Research - Indiana University - Bloomington, IN 47405
ihnp4!inuxc!isrnix!greg
{pur-ee,kangaro,iuvax}!isrnix!greg