USG Release 5.0 sdb questions

dew dewo1 at ihuxn.UUCP
Tue Jan 17 00:31:33 AEST 1984


Question 1: Is there any way to analyze a program that uses a shared
		memory segment?

Question 2: Suppose you catch a signal, using signal(). Is there anyway
		to tell where you were when the signal came in?

I have a program that makes both of these questions relevant:

1. The program uses shared memory for many of its data structures.
	When the program core dumps, and I examine it under sdb, the
	shared memory segment is not present OR not addressible. I do
	not know which (ie., does the core dump contain the shared memory
	and sdb can not get at it; or was the shared memory simply not
	dumped in the first place).

2. I catch all catchable signals.  For most of them, I simply print out
	an informative message and force a core dump by doing a
	floating point division by zero.  Looking at the resulting core
	dump via sdb yields a function trace that looks like the 
	following:

		my_catcher(10)
		signal(1 to 3 arguments here)
		my-routine1()
		.
		. 
		my-routinej()
	
	Of interest is the function "signal()". It is NOT one of mine.
	I do not know what the arguments are. I have seen one argument,
	and I have seen three arguments.

	I assume that I was executing in my-routine1() when the signal
	10 came in. How can I find out were?  Even when everything is
	compiled with "-g", no indication as to line number or machine
	instruction is given.


Any suggestions?

			Doug Whitten
			ihuxn!dewo1
			iwsl7!dewo1
Question 1: Is there any way to analyze a program that uses a shared
		memory segment?

Question 2: Suppose you catch a signal, using signal(). Is there anyway
		to tell where you were when the signal came in?

I have a program that makes both of these questions relevant:

1. The program uses shared memory for many of its data structures.
	When the program core dumps, and I examine it under sdb, the
	shared memory segment is not present OR not addressible. I do
	not know which (ie., does the core dump contain the shared memory
	and sdb can not get at it, or was the shared memory simply not
	dumped in the first place).

2. I catch all catchable signals.  For most of them, I simply print out
	an informative message and force a core dump by doing a
	floating point division by zero.  Looking at the resulting core
	dump via sdb yields a function trace that looks like the 
	following:

		my_catcher(10)
		signal(1 to 3 arguments here)
		my-routine1()
		.
		. 
		my-routinej()
	
	Of interest is the function "signal()". It is NOT one of mine.
	I do not know what the arguments are. I have seen one argument,
	and I have seen three arguments.

	I assume that I was executing in my-routine1() when the signal
	10 came in. How can I find out were?  Even when everything is
	compiled with "-g", no indication as to line number or machine
	instruction is given.


Any suggestions?

			Doug Whitten
			ihuxn!dewo1
			iwsl7!dewo1



More information about the Comp.unix.wizards mailing list