博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
makefile、gdb使用记录
阅读量:6434 次
发布时间:2019-06-23

本文共 1371 字,大约阅读时间需要 4 分钟。

makefile的模板

all:    rover server stationrover:  rover.c tcputil.o    gcc rover.c tcputil.o -o rover -lpthreadserver: server.c tcputil.o    gcc server.c tcputil.o -o server -lpthreadstation:station.c tcputil.o    gcc station.c tcputil.o -o station -lpthreadtcputil:tcputil.c     gcc tcputil.c -c -lpthread.PHONY: cleanclean:    rm -f *.o rover server station

- 引号后面的文件代表需要的材料

- .PHONY:指令声明,虚文件

GDB的使用

1、要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点。如:

    > gcc -g hello.c -o hello

    > g++ -g hello.cpp -o hello

 

2、启动GDB的方法有以下几种:

 

    a、gdb <program> 

       program也就是你的执行文件,一般在当然目录下。

 

    b、gdb <program> core

       用gdb同时调试一个运行程序和core文件,core是程序非法执行后core dump后产生的文件。

 

    c、gdb <program> <PID>

       如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程ID。gdb会自动attach上去,并调试他。program应该在PATH环境变量中搜索得到。

3、gdb -help

4、指令表

(gdb) l

l命令相当于list,从第一行开始例出原码

(gdb) 直接回车表示,重复上一次命令
(gdb) break 16 设置断点,在源程序第16行处
(gdb) break func 设置断点,在函数func()入口处
(gdb) info break 查看断点信息
(gdb) r  运行程序,run命令简写
(gdb) n  单条语句执行,next命令简写
(gdb) c  继续运行程序,continue命令简写
(gdb) p i  打印变量i的值,print命令简写
(gdb) bt  查看函数堆栈
(gdb) finish  退出函数
(gdb) q 退出gdb

 

 

x  按十六进制格式显示变量。

    d  按十进制格式显示变量。
    u  按十六进制格式显示无符号整型。
    o  按八进制格式显示变量。
    t  按二进制格式显示变量。 
    a  按十六进制格式显示变量。
    c  按字符格式显示变量。
    f  按浮点数格式显示变量。

        (gdb) p i

        $21 = 101    
        
        (gdb) p/a i
        $22 = 0x65
        
        (gdb) p/c i
        $23 = 101 'e'

 (摘自)

DDD:带图形界面的Debugger

ddd在ubuntu下的安装:sudo apt-get install ddd

转载于:https://www.cnblogs.com/catmelo/p/3863744.html

你可能感兴趣的文章
[转]SSH反向连接及Autossh
查看>>
Wikioi 1081 线段树成段更新单点查询
查看>>
c#调用cmd
查看>>
[转]Newtonsoft JSON how to dynamically change the date format?
查看>>
双机/RAC/Dataguard的区别【转】
查看>>
数据挖掘算法学习(四)PCA算法
查看>>
mysql之 binlog维护详细解析(开启、binlog相关参数作用、mysqlbinlog解读、binlog删除)...
查看>>
RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->新增模块管理界面导出功能(可按条件导出)...
查看>>
Win8Metro(C#)数字图像处理--2.33图像非线性变换
查看>>
【翻译】Nginx的反向代理
查看>>
htm、html、shtml网页区别
查看>>
SpringCloud学习笔记:服务注册与发现Eureka(2)
查看>>
VTK计算网格模型上的最短路径
查看>>
open-falcon的邮件报警
查看>>
iOS9的几个新关键字(nonnull、nullable、null_resettable、__null_unspecified)
查看>>
GraphQL入门2
查看>>
照片与本人严重不符
查看>>
编码(2)从字节理解Unicode(UTF8/UTF16)
查看>>
(轉貼) Jolt 2007得獎名單 (News) (.NET)
查看>>
Left 4 Dead升级补丁总汇(3663-3986)
查看>>