Consultor Eletrônico



Kbase 17330: Generating stacktraces on "hung" processes
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/05/1998
Generating stacktraces on "hung" processes

With the advent of version 7.3E and 8.2A you can now generate a
stacktrace on a Progress process without interrupting the process.

This is useful in debugging a "hung" process to see where it is stuck
on. You can also do this multiple times to capture if the process is
spinning on something.

You would do this by issueing a SIGUSR1 signal. It will generate a
protrace file for you. The SIGUSR1 signal is different on different
Operating Systems. To determine the signal number look at the
/usr/include/sys/signal.h file on your system. Some common values
are :

solaris 2.5.1 signal 16
HPUX 9.04 signal 16
HPUX 10.01 signal 16
SCO OS 5 signal 16

***NOTE*** This functionality is not available on NT or AIX. The
protrace functionality is not available on these platforms.

Once the client has terminated, a protrace.pid file is created in
the users' home directory. You must then convert the protrace file
to a file that will be more useful for development.

1. Identify the Progress <executable> that core dumped.
Review the first several lines in the protrace.pid file for the
executable name.
2. Set the DLC environment variable if not already set.
DLC=<installdirectory>;export DLC
3. Remove the first 4 lines of the protrace.pid file with your
favorite editor.
4. Translate the protrace file.
$DLC/bin/tracecnv <executable> protrace.pid > stack.out

Progress Software Technical Support Note # 17330