我对Chromium的“按下搜索网站”功能着迷,因此自然而然地想看看它在代码中的实现方式。

对于任何不熟悉这个的人来说,有一点背景。在导航到某个站点后,说Wikipedia并进行搜索,Chromium记住了查询变量的名称,并将让您直接从地址栏中按下标签。整洁的!

问题是Chromium的代码库很大,我在找到处理此处理的方法/功能方面没有运气。

当您寻找特定功能的实现时,如何处理大型代码库?有什么技巧来缩小它吗?优选地,它不需要使用调试符号构建软件并遵循该程序的流程。

有帮助吗?

解决方案

没有一种尺寸适合这种问题的所有方法。但是为此,我会尝试以下操作:

  • 如果有与操作关联的任何唯一消息,请抓取该字符串的所有源文件。该技术的一个常见陷阱是消息可能是从应用程序中的零件组装而成的,因此对于唯一的简短短语(甚至一个单词)来说,通常会有所帮助,以识别消息的来源。一旦找到文本,然后找到它通常需要更多文本搜索的引用。

  • 从易于找到的点进行跟踪执行,例如命令处理和调度循环。我会寻找一个 Tab 关键情况并遵循其领导地位。

  • 查看提示源代码目录和文件名。软件通常是合理地构建的,良好的工程师以明智的方式分裂和征服。

其他提示

测试覆盖工具是这样做的好方法。他们告诉您,通过测试行使应用程序的哪一部分。

仪器申请收集测试覆盖范围。执行您关心的功能。记录执行的内容。执行类似的内容,但与您想要的功能不同。记录这个。在覆盖范围内进行设定的差异。 DIFF选择了关注功能中涉及的代码,不包括类似功能的代码。

询问铬队. 。他们不给出积分或铜像素,但他们绝对是提出这种问题的权威和正确的人。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top