一、简介

GNU make 提供了若干可以协助调试的内置函数以及命令行选项。 用来调试makefile 的一个最好方法就是加入调试挂钩以及使用具保护的编程技术,让你能够在事情出错时恢复原状。

二、make调试功能

1)warning函数:可以放在makefile 中的任何地方,将输出string

$(warning string)

2)使make读进makefile并且输出它更新工作目标时将会执行的命令,不会真的执行,但在立即的语境中,它会对shell函数调用进行求值动作

--just-print(-n)

3)运行makefile,显示GNU版权信息以及make 执行的命令,然后依种类输出它的内部数据库,包括:

--print-data-base (-p)

4)使make 在未定义的变量被扩展时显示警告信息

--warn-undefined-variables
提示:许多内置规则都会包含未定义的变量以作为用户自定义值的挂钩。所以使用这个选项来运行make必然会产生许多不是错误的警告

5)--debug 选项,有五个调试级别和一个修饰符可用,分别是:

basic、verbose、implicit、jobs、all 以及makefile
提示:如果调试选项被指定成--debug,就是在进行basic 调试;如果调试选项被指定成-d,就是在进行all调试;如果要使用选项的其他组合,则可以使用--debug=option1,option2,列表以逗号分隔

三、make调试工具:remake

remake is a patched and modernized version of GNU make utility that adds improved error reporting, the ability to trace execution in a comprehensible way, and a debugger.
The debugger lets you set breakpoints on targets, show and set variables in expanded or unexpanded form, inspect target descriptions, see the target call stack, and even execute arbitrary GNU make fragments (e.g. add a dependency to an existing target).

下载

安装

rpm -ivh remake-3.82+dbg0.9-1.el6.rf.x86_64.rpm

最新文章

  1. 压力测试报出503错误---ASP.NET支持大并发的相关配置
  2. TF2ZP函数
  3. 【Django】如何按天 小时等查询统计?
  4. mysql的粗略学习
  5. 在代码中修改TextView的DrawableRight图片
  6. 启动hadoop报ERROR org.apache.hadoop.hdfs.server.namenode.FSImage: Failed to load image from FSImageFile
  7. PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(三)
  8. EL表达式简单应用
  9. Hash表
  10. Cut the sticks
  11. SRAM,SDRAM,网卡
  12. srand()和rand()函数的使用
  13. 给vmware的Linux虚拟机添加硬盘
  14. Eclipse下egit插件的使用
  15. 【转】shell脚本执行时报"bad interpreter: Text file busy"的解决方法
  16. VitualBox安装linux记录
  17. 改代码不是很熟悉------方法上加入synchronized关键字,会有性能问题---如何改善
  18. GBDT原理学习
  19. Python3 实现 JS 中 RSA 加密的 NoPadding 模式
  20. ubuntu ssh 与 Samba安装

热门文章

  1. bzoj 4806 炮
  2. RESTful 服务示例
  3. 老罗关于binder的链接
  4. 关于ant及svnant的一点随记
  5. mysql 创建用户自定义函数(转可运行)
  6. (转)Android中的基类—抽取出来公共的方法
  7. C# messagebox 居中父窗体
  8. 25 mysql怎么保证高可用
  9. C# 异常内存信息导出Dump文件
  10. Java面向对象-方法的重载