是否有 Make 调试器?我需要弄清楚别人的makefile
Posted
技术标签:
【中文标题】是否有 Make 调试器?我需要弄清楚别人的makefile【英文标题】:Is there a Make debugger? I need to figure out someone else's makefile 【发布时间】:2010-09-10 21:31:51 【问题描述】:我需要为非常复杂的、多层的 makefile(大量包含文件、大量目标、大量变量)添加一些功能,这些文件由当然不再与公司合作的其他人编写。这里有一些人了解其中的一部分,但不是全部。
是否有一个 Make 调试器,我可以在其中单步执行它,或者有一些等效的方法来跟踪编译流经的许多文件和目标的执行?还是有其他方法可以了解这件事的工作原理?
【问题讨论】:
【参考方案1】:GNU Make 有various options 用于在运行时打印出一些调试信息。 -d
会打印出一大堆调试信息;也许太多了,也许不是你需要的,但你可以试着筛选一下。还有一些选项,例如-n
用于进行试运行,-p
用于打印规则数据库,-w
用于打印您所在的目录以帮助追踪复杂递归中的问题,以及--warn-undefined-variables
用于跟踪变量的某些问题。
如果这些都不起作用,您可能想尝试Remake,它声称是带有调试器的修补 GNU make。我没有使用过它,但从documentation 看来,它可能会对您有所帮助,并且它有更多关于尝试追踪 Makefile 中的错误的建议。
【讨论】:
【参考方案2】:您可能想查看这篇文章 http://oreilly.com/catalog/make3/book/ch12.pdf(Oreilly 的“使用 GNU Make 管理项目,第三版”中的“调试 Makefiles”一章)
【讨论】:
以上是关于是否有 Make 调试器?我需要弄清楚别人的makefile的主要内容,如果未能解决你的问题,请参考以下文章
是否有可能弄清楚IE是否从C#或PowerShell代码重新下载Silverlight xaps?