Snoop进程间通信
有没有人试图创建进程间通信的日志文件? 有人能给我一些关于实现这一目标的最佳方式的建议吗?
这个问题不太清楚,评论使得它不太清楚,但无论如何...
首先尝试的两件事是ipcs和strace -e trace = ipc。
如果你想记录所有的IPC(看起来非常密集),你应该考虑使用仪器。
他们有很多很好的工具,特别是在手册的这一部分中检查PIN码;
在这个例子中,我们展示了如何通过检查指令来做更多选择性仪器。 该工具会生成程序引用的所有内存地址的跟踪。 这对调试和模拟处理器中的数据缓存也很有用。
如果您正在做一些重量级的调整和分析,请查看TAU(调整和分析功能)。
与内核驱动程序的通信可以有多种形式。 通常有一个特殊的设备文件用于通信,或者可以有一个特殊的套接字类型,例如NETLINK。 如果你幸运的话,有一个字符设备,read()和write()是交互的唯一方式 - 如果是这种情况,那么这些调用很容易与各种方法截取。 如果你不走运,许多事情都是用ioctl完成的,或者更加困难。
然而,使用内核驱动进行通信的程序运行“strace”可以揭示它所做的一切 - 尽管如果碰巧有程序用于通信的库,'ltrace'可能会更具可读性。 通过将参数调整为'strace',你可能会得到一个只包含你需要的信息的转储:
指向IPC调试的答案可能不相关,因为与内核通信几乎从不与IPC有任何关系(至少不是与UNIX IPC设备不同)。
链接地址: http://www.djcxy.com/p/48759.html上一篇: Snoop interprocess communications
下一篇: Adjust font size depending on which font is used from a font stack