我曾经strace
短暂地附加一个过程。该过程创建了90个线程。当我找到有问题的线程时,我必须繁琐地搜索父线程,然后是祖父母线程,一直到根进程。
是否有技巧或工具可以快速找出哪个线程创建了另一个线程?还是更好,打印类似树的线程创建树pstree
?
strace -f
跟踪fork()
编辑的子进程。
strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。 6.1. 输出参数含义 每一行都是一条系统调用,等号左边是系统调用的函数名及其参数,右边是
问题内容: 在不让父进程等待子进程被杀死的情况下,我如何跟踪子进程的死亡? 我正在尝试一个客户端-服务器方案,其中服务器从客户端接受连接,并为它接受的每个连接派生一个新进程。 我忽略了SIGCHLD信号以防止僵尸创建。 上述情况下的问题是,如果子进程在函数中被杀死,则全局变量不会递减。 注意: 我正在寻找不使用SIGCHLD信号的解决方案…如果可能 问题答案: 通常,您编写一个调用pid 的处理程
问题内容: 一位同事曾经告诉我,在Linux上一切调试失败时,最后的选择是使用strace。 我试图学习这种奇怪工具背后的科学知识,但是我不是系统管理员,我并没有真正获得结果。 所以, 到底是什么,它做什么? 应该如何使用?在哪种情况下应使用? 应该如何理解和处理输出? 总之, 在简单的话 ,怎么做这个东西的工作? 问题答案: Strace概述 strace可以看作是轻量级的调试器。它允许程序员/
问题内容: 我知道firebug可以跟踪页面上的所有Ajax / XHR事件。但是我需要准备一个工具,该工具可以自动跟踪已经存在的网页上的按钮点击。 我的网页的HTML和JS结构如下: HTML: JS: 任何人都可以建议如何借助其他JavaScript或其他工具来跟踪此ajax调用吗?基本上,我需要获得按钮单击时的调用,在此示例中:“ / Ajax / getCall / callUser /”
问题内容: 如果对http请求的响应是带有cookie的重定向(http代码302), 您如何指示Go客户使用收到的Cookie跟踪新位置? 在CURL中,可以通过以下方式轻松设置客户端: 您如何在Go中做到这一点? 问题答案: 使用Go 1.1,您可以使用。 这是一个工作示例:
问题内容: 我编写了一个程序来列出命令执行的所有系统调用(例如/ bin / ls)。现在我想做的就是找到所有可能传递给它的系统调用参数,环境变量,命令行参数 示例:如果我打开一个文件。系统调用sys_access会打开文件吗?但是如何获得这些价值? 想要对系统调用(例如打开,读取,写入,关闭)执行此操作。 根据我的研究,这些必须在寄存器(ebx- edx)中。如果是,则这些寄存器值表示什么?我知