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