作为系统管理员,我有时会遇到一些情况,即使没有创建错误或创建无意义的错误消息,程序的行为也异常。 在Java出现之前,过去有两种对策: 1. 如果其他方法都不起作用 - RTFM ;-) 2. 如果连第一种方法都不起作用 - 跟踪系统调用并查看发生了什么 我通常在Linux上使用`str...
我有两个进程实例正在运行。其中一个正在“疯狂地出错!”并不停地向STDOUT打印错误信息。 我想终止这个出错的进程,但是我必须确保我不会终止错误的那个。它们都是大约同时启动的,并且使用top命令我可以看到它们都使用大致相同的内存和CPU。我似乎找不到任何指示哪个进程表现不良的线索。 最安全...
我知道strace,它非常方便用于监视系统调用。有没有类似的工具可以跟踪对外部库的调用? 例如,我正在尝试调试一些与SSLeay不正常行为相关的第三方二进制文件,我无法访问其代码(而且开发人员也不响应)。我相信我已经找到了问题所在,但是如果不看到数据被签名检查后如何格式化发送给SSLeay,...
Bash有一个有时候很有用的功能,即如果你打开"-x"选项(我相信符号名称是xtrace),Bash会在执行每一行脚本时输出它。 我知道两种启用此行为的方法: - 在脚本本身中使用set -x - 在命令行中向Bash传递-x选项。 是否有办法通过环境变量来打开此选项? (特别是,我自...
抱歉提前道歉,如果这篇文章有点复杂/凌乱,但我很难更好地表达...基本上,我想研究硬盘写入时发生的情况,并且我想知道: 我的理解是否正确 - 如果不正确,我错在哪里? 有没有更好的工具可以“捕获”关于计算机上发生的所有方面的日志数据,在硬盘写入期间? 更详细地说 - 首先,我使用的操作...
当使用ltrace来跟踪系统调用时,我发现fork()使用的是sys_clone()而不是sys_fork()。但是我找不到定义它的Linux源代码。 我的程序是: #include<stdio.h> main() { int pid,i=0,j=0; ...
我正在寻找一种工具,可以在Linux/ARM中跟踪共享库中的函数调用。基本上,我想能够指定一个命令行,并让这个工具生成被调用的库函数和传递的参数的记录。我想可以使用某种形式的函数钩子来实现这一点。 我知道有一个名为ltrace的工具,它提供了我需要的功能。然而,ltrace对我来说不起作用,...