jjzjj

linux - 将自定义结构类型添加到 strace

我正在尝试对通过ioctl系统调用与内核驱动程序交互的用户模式共享对象进行逆向工程。我有一个头文件,其中包含内核驱动程序的ioctl接口(interface)的定义(即ioctl命令编号的#defines,以及发送到ioctl的各种数据的结构定义)。我看到strace能够取消引用传递给系统调用的用户指针,但它显然不能取消引用传递给ioctl的自定义结构。有没有一种简单的方法可以将我的定义添加到strace中,以便我可以获得传递到ioctl中的有意义的数据,而不仅仅是指针地址?我有strace的源代码并已成功编译/安装它,但我尝试包含我自己的header的所有尝试都没有效果。

linux - 将自定义结构类型添加到 strace

我正在尝试对通过ioctl系统调用与内核驱动程序交互的用户模式共享对象进行逆向工程。我有一个头文件,其中包含内核驱动程序的ioctl接口(interface)的定义(即ioctl命令编号的#defines,以及发送到ioctl的各种数据的结构定义)。我看到strace能够取消引用传递给系统调用的用户指针,但它显然不能取消引用传递给ioctl的自定义结构。有没有一种简单的方法可以将我的定义添加到strace中,以便我可以获得传递到ioctl中的有意义的数据,而不仅仅是指针地址?我有strace的源代码并已成功编译/安装它,但我尝试包含我自己的header的所有尝试都没有效果。

linux - 我应该监视哪些进程间锁定调用?

我正在使用strace/ltrace监控进程,希望找到并拦截检查并可能激活一些的调用一种全局共享锁。虽然我之前处理过并阅读过Linux上的几种进程间锁定形式,但我对要调用的内容一无所知。目前我唯一怀疑的是futex(),它在进程执行的早期就出现了。更新0我对我所追求的东西有些困惑。我正在监控一个现有进程以调用持久进程间内存或等效内存。我想知道要查找的系统和库调用。我无意自己调用这些,所以futex()自然会出现,我相信很多库会根据这个等实现他们的锁定调用。更新1我想要一个函数名称列表或文档链接,我应该在ltrace和strace级别(并指定哪个级别)进行监控。任何其他关于如何跟踪和定位

linux - 我应该监视哪些进程间锁定调用?

我正在使用strace/ltrace监控进程,希望找到并拦截检查并可能激活一些的调用一种全局共享锁。虽然我之前处理过并阅读过Linux上的几种进程间锁定形式,但我对要调用的内容一无所知。目前我唯一怀疑的是futex(),它在进程执行的早期就出现了。更新0我对我所追求的东西有些困惑。我正在监控一个现有进程以调用持久进程间内存或等效内存。我想知道要查找的系统和库调用。我无意自己调用这些,所以futex()自然会出现,我相信很多库会根据这个等实现他们的锁定调用。更新1我想要一个函数名称列表或文档链接,我应该在ltrace和strace级别(并指定哪个级别)进行监控。任何其他关于如何跟踪和定位

c - 我应该如何使用strace来嗅探串口?

我正在用linux写一个应用程序,需要访问串口。出于调试目的,我需要嗅探通过串口传入和/或传出的内容。我环顾四周,发现我可以使用strace来做到这一点。所以我尝试了以下方法:-我打印我使用的串口设备的文件描述符。(重启我的应用程序几次后,我向自己保证我的应用程序从内核获取的file_descriptor编号是“4”-如果我以strace-ewrite=4./myapp启动我的应用程序,我希望在终端中仅从file_descriptor"4"获取消息。相反,我得到了很多输出:read(5,"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\30

c - 我应该如何使用strace来嗅探串口?

我正在用linux写一个应用程序,需要访问串口。出于调试目的,我需要嗅探通过串口传入和/或传出的内容。我环顾四周,发现我可以使用strace来做到这一点。所以我尝试了以下方法:-我打印我使用的串口设备的文件描述符。(重启我的应用程序几次后,我向自己保证我的应用程序从内核获取的file_descriptor编号是“4”-如果我以strace-ewrite=4./myapp启动我的应用程序,我希望在终端中仅从file_descriptor"4"获取消息。相反,我得到了很多输出:read(5,"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\30

linux - 确定 Linux 上进程停滞的原因

我正在尝试确定Linux上进程停滞的原因。这是一个电信应用程序,在相当重的负载下运行。8个T1跨度中的每一个都有一个单独的过程。每隔一段时间,其中一个进程就会变得非常无响应-在通常非常繁忙的进程日志中记录事件之前最多可能需要50秒。可能是某些系统资源不足。显而易见的事情-CPU使用率-看起来没问题。哪个linux实用程序可能最适合捕获和分析这类事情,并且尽可能不引人注目,因为这是一个高负载系统?看起来它需要是流程而不是系统导向的。也许持续监控/proc/pid/XX?Top在这里似乎用处不大。 最佳答案 如果您能够发现这个“无响应的

linux - 确定 Linux 上进程停滞的原因

我正在尝试确定Linux上进程停滞的原因。这是一个电信应用程序,在相当重的负载下运行。8个T1跨度中的每一个都有一个单独的过程。每隔一段时间,其中一个进程就会变得非常无响应-在通常非常繁忙的进程日志中记录事件之前最多可能需要50秒。可能是某些系统资源不足。显而易见的事情-CPU使用率-看起来没问题。哪个linux实用程序可能最适合捕获和分析这类事情,并且尽可能不引人注目,因为这是一个高负载系统?看起来它需要是流程而不是系统导向的。也许持续监控/proc/pid/XX?Top在这里似乎用处不大。 最佳答案 如果您能够发现这个“无响应的

linux - strace: <unfinished ...> 和 <... resumed> 的顺序

我正在编写一个脚本来分析使用strace跟踪的文件访问.跟踪包含一些已被另一个进程中断的调用。strace向他们展示和(在中断close调用的情况下)标记。[pid26817]12:48:22.972737close(449[pid28708]12:48:22.972797fcntl(451,F_SETFD,FD_CLOEXEC[pid26817]12:48:22.972808)=0进程及其所有线程都被跟踪strace-f-tt-p手册页不确定调用何时结束。Ifasystemcallisbeingexecutedandmeanwhileanotheroneisbeingcalledfr

linux - strace: <unfinished ...> 和 <... resumed> 的顺序

我正在编写一个脚本来分析使用strace跟踪的文件访问.跟踪包含一些已被另一个进程中断的调用。strace向他们展示和(在中断close调用的情况下)标记。[pid26817]12:48:22.972737close(449[pid28708]12:48:22.972797fcntl(451,F_SETFD,FD_CLOEXEC[pid26817]12:48:22.972808)=0进程及其所有线程都被跟踪strace-f-tt-p手册页不确定调用何时结束。Ifasystemcallisbeingexecutedandmeanwhileanotheroneisbeingcalledfr