在 Makefile 里加入调试选项
博客专区 > sfyumi 的博客 > 博客详情
在 Makefile 里加入调试选项
sfyumi 发表于4年前
在 Makefile 里加入调试选项
  • 发表于 4年前
  • 阅读 1261
  • 收藏 2
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: GDB 是 Unix/Linux 下的调试工具,要想调试一个程序,需要在编译指令里加入 -g 选项,而在 makefile 里,需要把 -g 选项加入到编译与汇编阶段的编译命令里。

gcc 编译选项

-c            Compile and assemble, but do not link
-o <file>     Place the output into <file>
-g            Generate debug information in default format

简单的 Makefile 一般只用到前两项 gcc 选项,如果需要调试程序的话就用到第三个调试选项了。

一个简单的 Makefile示例

此工程由三个文件组成:

printHello.h
printHello.c
main.c

printHello.h

void printHello();

printHello.c

#include <stdio.h>                                 
void printHello(){
    printf("Hello World!\n");
}

main.c

#include "printHello.h"
int main() {
    printHello();
    return 0;
}

Makefile(带调试选项)

hello : main.o printHello.o
    cc -o hello main.o printHello.o

main.o : main.c printHello.h
    cc -c -g main.c

printHello.o : printHello.c
    cc -c -g printHello.c

clean : 
    rm hello main.o printHello.o


扩展知识:

gcc编译过程分为四步

预编译过程:处理宏定义和include,并做语法检查。

编译过程:生成汇编代码。

汇编过程:生成中间目标代码。(-c)

连接过程:生成可执行代码。(-o)

关于 Makefile,可以看一下陈皓的跟我一起写 Makefile 系列文章

GDB 调试也可以看一看陈皓的用 GDB 调试程序系列文章

标签: GDB Makefile
共有 人打赏支持
粉丝 4
博文 12
码字总数 2324
×
sfyumi
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: