pstack은 스택 출력을 인쇄하지 않습니다.

pstack은 스택 출력을 인쇄하지 않습니다.

두 대의 시스템(둘 다 RHEL)에서 실행 중인 애플리케이션의 기능 스택을 찾기 위해 pstack을 실행하고 있습니다.

내 컴퓨터 중 하나에서 예상대로 작동합니다.

[root@civ4cez191 bin]# pstack 22947
Thread 2 (Thread 0x7f63cbe7d700 (LWP 22949)):
#0  0x0000003c3640f0cd in pause () from /lib64/libpthread.so.0
#1  0x0000000000485a78 in _signalWaitThread(void*) ()
#2  0x0000003c36407aa1 in start_thread () from /lib64/libpthread.so.0
#3  0x0000003c360e8aad in clone () from /lib64/libc.so.6
Thread 1 (Thread 0x7f63d2d07700 (LWP 22947)):
#0  0x0000003c360e1523 in select () from /lib64/libc.so.6
#1  0x00000000004ccc36 in TFDSETSelect(void*, void*, int) ()
#2  0x00000000004cb50f in SvrInit1(unsigned int (*)(void*, void**), unsigned int (*)(void*, void*, void**, unsigned int*), void (*)(void*), unsigned int (*)(unsigned short, unsigned short), void (*)(unsigned short, unsigned short), void (*)(unsigned short, unsigned short), unsigned short, unsigned char, unsigned short, unsigned char) ()
#3  0x00000000004259f0 in main ()

그러나 다른 시스템에서는 스레드 이름만 인쇄합니다.

[root@civ4cez194 bin]# pstack 12672
Thread 7 (Thread 0x7f01892e2700 (LWP 12674)):
Thread 6 (Thread 0x7f0188aa0700 (LWP 12743)):
Thread 5 (Thread 0x7f0188a1e700 (LWP 7090)):
Thread 4 (Thread 0x7f0188a5f700 (LWP 7127)):
Thread 3 (Thread 0x7f01889dd700 (LWP 7178)):
Thread 2 (Thread 0x7f0188ae1700 (LWP 7235)):
Thread 1 (Thread 0x7f0193ca0740 (LWP 12672)):

나는 이 문제에 대한 해결책을 찾고 있었지만 별다른 성공을 거두지 못했습니다. 내가 찾은 유일한 중요한 정보는여기

For thread information to be dumped, you have to use the debug-aware version of the LinuxThreads libpthread.so library.
(To check, run nm(1) on your pthreads library, and
make sure that the symbol "__pthread_threads_debug" is defined.) Threads are not supported with the newer NPTL libpthread.so library.

두 시스템 모두에서 /lib64/libpthread.so.0에서 nm을 실행할 때 찾을 수 있는 유일한 디버그 관련 필드는 "__pthread_debug"이지만 두 시스템 모두에 존재합니다.

어떤 도움이라도 대단히 감사하겠습니다.

답변1

따라서 트레이스백이 작동하지 않고 Python 설치를 수정하면 문제가 해결되었기 때문에 설정에서 Python 설치에 문제가 있는 것으로 나타났습니다.

관련 정보