跟踪在Linux操作系统上运行的应用程序的外围交互

跟踪在Linux操作系统上运行的应用程序的外围交互,linux,logging,kernel,trace,peripherals,Linux,Logging,Kernel,Trace,Peripherals,是否有记录外围交互的机制。如果有一个应用程序运行在Linux内核上,并且它通过UART、CAN或任何其他接口与物理世界进行交互。在此上下文中,是否有一些命令或工具可以记录这些交互(不需要传输数据),以便方便地了解应用程序与哪个外围设备交互 提前感谢假设使用用户模式(不在内核中)程序,您可以运行它,这将跟踪程序对系统调用的使用情况 要与外围硬件交互,程序必须与内核以及相应外围设备的设备驱动程序配合。这种通信通常通过设备文件(如/dev/sda)进行。要打开这些“文件”,程序将发出一个系统调用,该调

是否有记录外围交互的机制。如果有一个应用程序运行在Linux内核上,并且它通过UART、CAN或任何其他接口与物理世界进行交互。在此上下文中,是否有一些命令或工具可以记录这些交互(不需要传输数据),以便方便地了解应用程序与哪个外围设备交互

提前感谢

假设使用用户模式(不在内核中)程序,您可以运行它,这将跟踪程序对系统调用的使用情况


要与外围硬件交互,程序必须与内核以及相应外围设备的设备驱动程序配合。这种通信通常通过设备文件(如
/dev/sda
)进行。要打开这些“文件”,程序将发出一个系统调用,该调用将由strace显示。

谢谢您的回复。。我已经尝试使用strace命令,但它对我没有帮助。。。我对代码感兴趣的两点之间没有系统调用,但我的应用程序通过总线与同一块板上的FPGA结构进行交互,我试图弄清楚这种交互是如何发生的。我怀疑strace是否可以跟踪所有系统调用,或者只能跟踪其中的一个主要子集……嗯,strace应该能够跟踪所有系统调用,尽管您可能需要指定跟踪过程的子进程。如果没有进一步的信息,就很难进一步提供帮助。