我正在尝试找出一种在内核空间中编写调试器的方法。我有一些用户空间程序,当我运行它时,我想看到它在内核空间中发生的整个执行跟踪。我想要仅与该程序相关的日志,而不是整个内核空间的日志。
我尝试过使用 kprobes 和 ftrace,但它们要求程序员实际动态或静态地在内核中插入调试点。由于我试图提出一个通用调试器,因此我真的不知道应该监视内核中的哪些函数来插入调试点。
有没有可用的工具来执行此任务?我真的不记得工具的名称,但是当使用它时,它通常会打印出整个内核的跟踪,但不会打印出我单独运行的程序的跟踪。