【问题标题】:How to methodically trace the location of source code如何有条不紊地追踪源代码的位置
【发布时间】:2013-10-04 20:14:22
【问题描述】:

我经常花费大量时间试图找出具体实现的位置。当处理一些可能最终在内核中某处结束的低级代码时,它会变得非常令人沮丧。

我通常只是 google 或尝试猜测位置和/或方法名称,但这并不总是很有效。

是否有一些有条不紊的方法来跟踪流程直到实现?大家平时是怎么做的呢?

【问题讨论】:

标签: c memory implementation low-level


【解决方案1】:

将具有相关依赖关系的整个代码加载到图形 IDE(例如,NetBeans 可以做到),该 IDE 可以调用图形、声明定义跳转等,或者将 LibClang 及其包装器用于您选择的文本编辑器,它也非常擅长索引。最后可以考虑classics,ctags,可以链接定义点和声明点。

【讨论】:

    【解决方案2】:

    曾经有一个 ctrace 程序可以做到这一点,但我认为它没有得到积极维护。

    最终,这取决于您想要达到的目标。实际上,您似乎想查找一个特定的函数,而不是跟踪它。如果确实如此,请考虑使用某种源浏览器:从 etagscscopeOpenGrok

    【讨论】:

    • valgrind 是一个内存调试工具(除此之外,但这是它的主要目的)。它不跟踪执行。
    • 我相信,valgrind 有办法吐出所有的函数命中(需要查一下)。无论如何,从响应中删除。
    猜你喜欢
    • 2014-08-30
    • 1970-01-01
    • 2011-05-25
    • 2011-09-23
    • 2016-07-03
    • 2023-03-26
    • 2014-09-15
    • 2012-06-08
    • 1970-01-01
    相关资源
    最近更新 更多