你可以在 Makefile 中使用断点吗?

Car*_*ter 2 debugging makefile breakpoints

我正在尝试在非常大的 Makefile 上进行调试。我在这里问了同样的问题: http ://www.edaboard.com/thread324433.html 我不确定的是是否有任何方法可以使用断点进行调试?

如果给我的答案是正确的,有人可以让我更准确地知道如何在 Makefile 中使用断点吗?

Mar*_*eck 5

您不能使用“断点”和“单步执行”Makefile。有几种推荐的调试方法:

  • 插入$(info)语句以显示变量的值
  • 插入$(warning)语句 - 它比信息更好,因为它显示了行号
  • $(eval)暂时替换为$(info)以查看$(eval)扩展为
  • 研究make解析生成文件的输出- 使用make -p
  • 研究整个make运行的输出:使用make --debug
  • 在执行规则时使用“GNU Make shell hack”(谷歌它)来记录信息
  • 使用 ElectricCloud make - 它比标准 Make 具有更广泛的调试工具,但价格昂贵(值得每一分钱!)

我知道您是新手,想确切地知道如何执行上述操作,但我不会告诉您。我刚刚为您概述了上述步骤,您必须自己学习。没有其他办法。几年前,我也不得不学习这个,而在做那个的时候,我问了很多愚蠢的问题。没有其他方法可以学习。

  • 提到“SHELL hack”:http://collaboration.cmc.ec.gc.ca/science/rpn/biblio/ddj/Website/articles/DDJ/2007/0703/070201jg01/070201jg01.html (2认同)