问题标签 [pstack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5573 浏览

c - 如何在 Solaris 上获取 BACKTRACE(函数 + 行号)?

我用 C 语言编写了一些代码,它们很高兴地将带有函数名称和行号的完整回溯发送到日志文件。

这是在 LINUX 上混合使用 backtrace、backtrace_symbols 和 dladdr 和 ADDR2LINE 完成的。还在 Linux 上使用“execinfo.h”....

所以基本上如下:

回溯:线路位置:

现在我已经将代码带到了 Solaris,我发现它不受支持;-(

我在 Solaris 上尝试了 pstack 方法并得到类似:

我如何以某种方式使用上述方法以编程方式获取行号和函数名称?我看到了一些关于“walkcontext”或“walkstack”的东西......有没有人有任何示例代码让我获取行号等?

另外,我在 Linux 上使用了 ADDR2LINE,效果很好.....有人可以告诉我如何从上面的 DUMP 中在 Solaris 上使用它吗?我无法让它工作;-(

任何建议将不胜感激

谢谢

林顿

0 投票
1 回答
1073 浏览

unix - Unix脚本在多次检查条件后终止进程并定期运行

我想编写一个 unix shell 脚本以每 80 秒运行 3 次命令,并将每个序列写入文本文件的不同行中。而且,如果所有结果在一行中为 10 或更多,我想终止该进程:

例如:

输出文件:

请注意,如果输出序列是“10 10 11”、“10 11 12”等,则应再次终止该进程。但是如果它像“9 9 10”那么就不需要被杀死。

0 投票
1 回答
435 浏览

solaris - 有人知道 Solaris p 系列命令(pstack,pmap)的副作用吗?

我现在正在调查一个 prod 问题,并且希望我的调查不会对正常的 prod 环境造成任何副作用,那么它是否会导致正在运行的程序即使在短时间内暂停?谢谢

0 投票
0 回答
539 浏览

debug-symbols - 如何将 libc6-dbg 中的调试符号与 pstack 一起使用?

我安装了 libc6-dbg,但 pstack 仍然说:

(在 /lib/x86_64-linux-gnu/libc.so.6 中找不到符号)

我如何告诉它在哪里可以找到符号?

0 投票
1 回答
1159 浏览

linux - 如何使用 pstack 命令获取最后 n 行堆栈?

我在我的 c++ 代码中使用 pstack 命令并将其存储在一个字符串中。问题是它将堆栈打印到最后一个函数并且字符串变得非常重。有没有办法使用 pstack 只打印最后 n 行堆栈?

如果无法使用 pstack 完成,那么还有其他方法可以解决此目的吗?

0 投票
1 回答
494 浏览

pstack - pstack 显示问号

当我在 linux 上运行 pstack {pid} 时,有时会显示??一些记录。这是什么原因?如果只是优化,我怎么知道真正的相关代码?

0 投票
1 回答
221 浏览

linux - 为什么 Linux 进程太忙而无法附加(ptrace 左右)?

在多核 RHEL6 上,死循环中有一个 FIFO 实时进程,因此它占用了内核上的所有 CPU 资源(进程与内核绑定)。但是,其他核心都很好。

此时,死循环中进程的 pstack 无法打印任何内容。同时,任何其他进程的 pstack 都运行良好。

有人可以帮忙告诉我为什么吗?

谢谢!

0 投票
0 回答
581 浏览

solaris - Solaris 上核心转储的 pstack 输出不可用

应用于核心转储的 pstack 输出应包含每个线程的堆栈回溯。但在某些情况下,输出包含每个线程的截断回溯,每个线程只有一个条目。这是一个示例,显示了 pstack 输出的摘录:

如您所见,每个 LWP 只有一行,我们通常会在其中获得完整的回溯。您可能还会注意到一些线程有一个有效的损坏的 C++ 符号,这可能是因为处理器在核心转储时正在执行应用程序代码。但是为什么所有的回溯都会被截断呢?

根据应用于同一核心转储的 pflags,上次发生这种情况时,故障线程抛出了 SIGABRT。

核心转储有足够的磁盘空间,并且写入核心转储的权限没有问题。机器是 32 核的 Sparc,SunOS 5.10 Generic_144488-17。应用程序是使用 gcc 4.7.2 构建的。

0 投票
1 回答
85 浏览

php - 更改通过运行 cron 访问的代码

我每天在不同的时间运行几个 crons。偶尔,一个或另一个会被“卡住”,它的过程永远不会结束。这并不一致,但是在几个 cron 访问的不同文件中的函数发生更改后,次数显着增加。并不总是到同一个文件,也不总是到同一时间,并且手动运行文件可以正常工作。

我的问题:

  1. 如果我修改这个外部文件,正在运行的 cron 应该会接受更改,对吗?(尝试过但它不起作用,所以它要么不起作用,要么在我的代码中没有达到这一点,这让我想到了我的第二个问题:)

  2. 如何打印正在运行的 cron 的堆栈跟踪以查看它卡在哪里?在 Linux 上运行,Centos 版本 7

编辑:pstack给我 main() - 我怎样才能走得更远?

谢谢你的帮助!

0 投票
1 回答
1375 浏览

debugging - 在 Amazon Linux AMI 上安装 gdb 和 pstack

我尝试使用 Amazon Linux AMI 在 EC2 实例上安装 gdb 和 pstack(默认情况下未安装),但无法正常工作。

试过:

尝试手动将 gdb tar 放在 AMI 上并编译,但没有成功。不确定从哪里获得 AMI 的 RPM。从哪里下载软件包?

谁能指导我如何在 AMI 上安装 GDB 和 pstack ?