【问题标题】:Trace peripheral interactions of an application running on Linux os跟踪在 Linux 操作系统上运行的应用程序的外围交互
【发布时间】:2015-10-01 16:09:26
【问题描述】:

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

提前致谢

【问题讨论】:

    标签: linux logging kernel trace peripherals


    【解决方案1】:

    假设一个用户态(不在内核)程序,你可以通过strace运行它,它会跟踪程序对系统调用的使用。

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

    【讨论】:

    • 感谢您的回复。我已经尝试过使用 strace 命令,但它对我没有帮助...在我对代码感兴趣的两点之间没有系统调用,但我的应用程序交互通过总线在同一块板上使用 FPGA 结构,我试图弄清楚这种交互是如何发生的。我怀疑 strace 是否可以跟踪所有系统调用或仅跟踪它的主要子集......
    • 嗯,strace 应该能够跟踪所有系统调用,尽管您可能需要指定跟踪被跟踪进程的-f 子进程。没有更多信息,真的很难提供进一步的帮助。
    猜你喜欢
    • 2018-03-27
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 2011-07-06
    • 1970-01-01
    • 2016-07-14
    • 1970-01-01
    相关资源
    最近更新 更多