Debugging 您可以在Makefile中使用断点吗?

Debugging 您可以在Makefile中使用断点吗?,debugging,makefile,breakpoints,Debugging,Makefile,Breakpoints,我正在尝试调试非常大的makefile。我在这里问了同样的问题: 我不确定的是,是否有任何方法可以使用断点进行调试 如果给我的答案是正确的,有人能告诉我如何在Makefile中更准确地使用断点吗?您不能使用“断点”和“单步执行”Makefile。有几种推荐的调试方法: 插入$(info)语句以显示变量值 插入$(警告)语句-它比info好,因为它显示行号 将$(eval)临时替换为$(info),以查看$(eval)扩展到的内容 研究make解析makefile的输出-使用make-p 研究整

我正在尝试调试非常大的makefile。我在这里问了同样的问题: 我不确定的是,是否有任何方法可以使用断点进行调试


如果给我的答案是正确的,有人能告诉我如何在Makefile中更准确地使用断点吗?

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

  • 插入
    $(info)
    语句以显示变量值
  • 插入
    $(警告)
    语句-它比info好,因为它显示行号
  • $(eval)
    临时替换为
    $(info)
    ,以查看
    $(eval)
    扩展到的内容
  • 研究
    make
    解析makefile的输出-使用
    make-p
  • 研究整个
    make
    run的输出:使用
    make--debug
  • 在执行规则时,使用“GNU Make shell hack”(谷歌it)记录信息
  • 使用ElectricCloud make-它的调试功能比标准产品要广泛得多,但它很昂贵(而且值得花每一分钱!)

我知道你是个新手,想知道如何做到以上几点,但我不打算告诉你。我刚才为你概述了上述步骤,你必须自己去学习。没有别的办法。几年前,我还必须研究这个问题,而当我在研究这个问题时,我问了很多愚蠢的问题。没有其他学习方法

提到“SHELL hack”:总体上回答得很好。在一个地方有一个可以尝试所有东西的清单是很好的。如果我能提个建议。。。最后一段有点多余。@ChrisMauer是的,我明白你的意思,ChrisMauer。这是因为,OP需要精确的步骤;他们已经在别的地方问了这个问题,得到了一个大致的答案,但他们并不满意,仍然想要确切的步骤。所以我有点光顾,也许我做得不对。