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