C 没有日志和工具的调试?

C 没有日志和工具的调试?,c,debugging,gdb,C,Debugging,Gdb,我在git浏览raspberry pi源代码,发现源代码中没有任何日志和printf。除了在这种情况下使用的日志、调试工具(gdb、dbx)之外,还有其他调试技术吗?对于内核级调试,有很多日志和挂钩调试器(通常通过串行链接),特别是对于全新的代码。当代码成熟并且正在准备向内核提交补丁时,通常会删除过多的日志记录 此外,调试或仅仅理解内核代码的一种非常常见的方法是使用。这类似于调试构建,GCC向内核中的每个函数添加函数调用,mcount()。对于典型的ftrace内核构建,mcount()将编译为

我在git浏览raspberry pi源代码,发现源代码中没有任何日志和printf。除了在这种情况下使用的日志、调试工具(gdb、dbx)之外,还有其他调试技术吗?

对于内核级调试,有很多日志和挂钩调试器(通常通过串行链接),特别是对于全新的代码。当代码成熟并且正在准备向内核提交补丁时,通常会删除过多的日志记录

此外,调试或仅仅理解内核代码的一种非常常见的方法是使用。这类似于调试构建,GCC向内核中的每个函数添加函数调用,
mcount()
。对于典型的ftrace内核构建,
mcount()
将编译为NOP,该NOP将在运行时通过ftrace实用程序动态替换


您可以在内核文档中阅读更多关于ftrace设计的信息。您可以进一步了解ftrace提供的信息,但只需说它内容广泛。

源代码的哪一部分?raspberry pi内核是一个Linux分支,因此有大量的日志记录和调试实用程序。@nickelpro我不是说“pi”没有任何日志记录实用程序,我提到“pi”只是为了举例,我所要求的是一种方法或方法,而不是标准实践,供您参考,我正在浏览“”文件夹-谢谢