问题标签 [strace]
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.
linux - 如何在linux中获取进程的进程树跟踪/日志?
我想知道脚本启动了哪些可执行文件以及以什么顺序启动(并递归地跟踪这些可执行文件)。
例如,假设我在这里有一个 bash 脚本(称为 abc.sh):
我想用“trace/log command”运行这个脚本并得到这样的东西:
这表明 abc.sh 调用了 ls 和 gcc。gcc 反过来又称为 cpp 和 cc1。
这可能吗?我该怎么做?像上面这样的树视图会很好,但更简单的视图也可以。
请注意,我不想要进程树的当前快照。相反,我想要生成过程的跟踪或日志。时间注释也很有用。
谢谢!
linux - 如何使用 strace 跟踪子进程?
我曾经strace
简单地附加到一个进程。该进程创建了 90 个线程。当我找到有问题的线程时,我不得不繁琐地搜索父线程,然后是祖父线程,依此类推,一直到根进程。
是否有技巧或工具可以快速找出哪个线程创建了另一个线程?或者更好的是,打印线程创建树,例如pstree
?
c - 将自定义文本打印到 strace 中。跟踪评论
我们经常使用 strace。我们想将一些文本输出到 strace 以标记代码到达的位置。到目前为止,我看到人们这样做的方式是统计一个不存在的文件。文件名就是他们想在 strace 中看到的文本。它非常快,但我相信有更好的方法。我担心即使挂载点是虚假的,也可能会有很多代码和内核锁被命中。有任何想法吗?
debugging - 如何使用 strace 仅显示需要大量时间的调用?
有没有办法 grep 只在一定时间内调用?
c++ - strace:在任何事情发生之前的 SIGFPE
我在特定机器上执行 C++ 程序时遇到问题。这是整个 strace 输出:
我已经在其他几台机器上安装并运行了这个可执行文件,没有任何问题(并且有数千行 strace 输出)。知道什么可能导致我的问题吗?谢谢。
android - 真实设备中的 Android strace
我有以下情况,我想监控 Android 手机上的系统调用,所以我编写了一个脚本来做到这一点。使用 Android Emulator 可以完美运行(在我的 Ubuntu 上的特定文件中写入应用程序的痕迹)。问题是当我附加一个真实的手机来分析它时,它在结果文件中显示以下内容:
我正在使用此代码来获取它,但我不明白为什么它可以在模拟器上运行,而不是在有根的真实设备中运行。
这是我在 perl 中使用的命令:
有什么建议吗?提前致谢
android - Android ADB Linux 问题
我正在尝试在 Android Real 设备中测试 Strace 工具,但我无法从中获取任何信息。我正在尝试以下命令,但设备仍然告诉我“权限被拒绝”。
我试图以这种方式拆分命令并使其分两次,它可以工作
我试图以这种方式放置以前的代码,以使其安全但仍然无法正常工作:
我做错了什么?提前致谢
memory - 识别导致 strace 挂起的文件
我有一个在 Ubuntu 10.04 上运行的 GTK 程序,它以可中断状态挂起,我想了解strace
. 特别是,我有这一行:
我怀疑5
是文件描述符,要读取的0x2ba9ac4
文件中的地址以及要读取4096
的数据量。你确定吗?更重要的是,如何确定程序试图读取哪个文件?这个文件描述符不存在/proc/pid/fd
(这可能是程序挂起的原因)。
linux - 如何知道哪个函数正在调用系统调用?
我使用 strace 跟踪我的应用程序,发现它在系统调用“轮询”时被阻塞,我想弄清楚哪个函数正在调用这个系统调用。如何?</p>