我正在运行p堆栈,以便为在两台机器(都是RHEL)上运行的应用程序查找函数堆栈。
在我的一台机器上,它正在按预期工作。
[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)):我一直在寻找解决这一问题的方法,但没有取得多大的成功。我发现的唯一重要信息是这里
要转储线程信息,必须使用LinuxThreads libpthread.so库的调试版本。 (若要检查,请在p线程库上运行nm(1),并且 确保定义了符号"__pthread_threads_debug“。)新的NPTL libpthread.so库不支持线程。
在这两台机器上执行nm操作时,我发现这两台机器都是"__pthread_debug“。
会感谢你的帮助。
发布于 2018-05-22 03:35:30
因此,在安装程序上出现了python安装问题,因为回溯跟踪不起作用,所以修复python安装解决了问题。
https://stackoverflow.com/questions/50435578
复制相似问题