显示 (gcc)make时实际执行命令

转载

问题:

调试编译问题,如何获取,GCC(或许make)时,实际编译器和链接器正在执行的命令?

解决方法:

方法一:通用方法

使用dry run,如下
    $ make -n
这将显示make 命令正在试图做的事情。
通过 $ make -h 命令,查看帮助可知,make -n实际并不运行任何命令,只是把make试图做的事情显示出来。

同一命令的等价参数

-n, --just-print, --dry-run, --recon
Don’t actually run any commands; just print them.

方法二:特定方法,适用于使用autotools产生的库makefile文件

使用autotools(你必须发布./configure)产生的库makefile文件常常有一个verbose选项,所以基本上,使用
    make VERBOSE=1 或 make V=1
你将获取到全部命令。但是这取决于makefile产生的方式。

make命令的-d选项可能会有帮助的,但是会有很长的输出,而且也不是实际运行的命令,而是大量的调试信息。

-d 选项
  Print lots of debugging information
发布了39 篇原创文章 · 获赞 19 · 访问量 16万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章