27得票5回答
如何追踪Java程序?

作为系统管理员,我有时会遇到一些情况,即使没有创建错误或创建无意义的错误消息,程序的行为也异常。 在Java出现之前,过去有两种对策: 1. 如果其他方法都不起作用 - RTFM ;-) 2. 如果连第一种方法都不起作用 - 跟踪系统调用并查看发生了什么 我通常在Linux上使用`str...

21得票2回答
如何找出哪个进程正在写入到标准输出(STDOUT)?

我有两个进程实例正在运行。其中一个正在“疯狂地出错!”并不停地向STDOUT打印错误信息。 我想终止这个出错的进程,但是我必须确保我不会终止错误的那个。它们都是大约同时启动的,并且使用top命令我可以看到它们都使用大致相同的内存和CPU。我似乎找不到任何指示哪个进程表现不良的线索。 最安全...

16得票2回答
strace用于跟踪库函数调用

我知道strace,它非常方便用于监视系统调用。有没有类似的工具可以跟踪对外部库的调用? 例如,我正在尝试调试一些与SSLeay不正常行为相关的第三方二进制文件,我无法访问其代码(而且开发人员也不响应)。我相信我已经找到了问题所在,但是如果不看到数据被签名检查后如何格式化发送给SSLeay,...

14得票1回答
使用环境变量启用xtrace。

Bash有一个有时候很有用的功能,即如果你打开"-x"选项(我相信符号名称是xtrace),Bash会在执行每一行脚本时输出它。 我知道两种启用此行为的方法: - 在脚本本身中使用set -x - 在命令行中向Bash传递-x选项。 是否有办法通过环境变量来打开此选项? (特别是,我自...

13得票2回答
在内核空间观察硬盘写入(使用驱动程序/模块)

抱歉提前道歉,如果这篇文章有点复杂/凌乱,但我很难更好地表达...基本上,我想研究硬盘写入时发生的情况,并且我想知道: 我的理解是否正确 - 如果不正确,我错在哪里? 有没有更好的工具可以“捕获”关于计算机上发生的所有方面的日志数据,在硬盘写入期间? 更详细地说 - 首先,我使用的操作...

10得票2回答
FreeBSD 10 追踪磁盘活动

有没有办法在FreeBSD 10上使用ZFS找到定期写入磁盘的进程(根据硬盘指示灯)?也许可以将ZFS转换为详细日志模式吗? 由于磁盘访问的瞬间时间很短,lsof和其他即时聚合统计工具似乎无法捕获任何内容。

10得票2回答
在内核中,哪个文件指定了fork()、vfork()等使用sys_clone()系统调用?

当使用ltrace来跟踪系统调用时,我发现fork()使用的是sys_clone()而不是sys_fork()。但是我找不到定义它的Linux源代码。 我的程序是: #include<stdio.h> main() { int pid,i=0,j=0; ...

8得票1回答
用于跟踪Linux/ARM库调用的工具

我正在寻找一种工具,可以在Linux/ARM中跟踪共享库中的函数调用。基本上,我想能够指定一个命令行,并让这个工具生成被调用的库函数和传递的参数的记录。我想可以使用某种形式的函数钩子来实现这一点。 我知道有一个名为ltrace的工具,它提供了我需要的功能。然而,ltrace对我来说不起作用,...