代码编写调试总结-vimdiff / gdb / cmake

代码编写调试总结-vimdiff / gdb / cmake

使用diff比较代码不同

命令:diff -y file1 file2
说明:-y是指并列显示。还可以加-W 200指定显示宽度。
效果如图所示:
在这里插入图片描述

推荐使用vimdiff来比较

vimdiff 是使用了vim编辑器来进行diff比较。
命令:vimdiff file1 file2
或:vim -d file1 file2
强烈推荐这个用法,效果如图:
在这里插入图片描述

使用cmake来自动生成Makefile文件

cmake可以自动产生Makefile文件。
在此保存一个cmake介绍的链接以备以后学习:
https://blog.youkuaiyun.com/zhuiyunzhugang/article/details/88142908

  1. 首先需要安装cmake,使用命令:sudo apt install cmake
  2. 编写CMakeLists.txt文件。这个文件最好和源码放在同一文件夹下。
  3. 使用时依次输入下列命令:
    mkdir build
    cd build
    cmake …
    make
    解释:先新建build文件夹,然后切换进去,然后运行cmake(注意空格和两个点)生成Makefile,最后输入make就可以make输出可执行文件了。

使用gdb调试

gdb调试嵌入式开发板

gdb调试开发板时假设使用jlink调试,连接好以后输入命令:JLinkGDBSeverEXE,建立连接。然后依次输入命令:
arm-none-eabi-gdb
target remote Localhost:2331
monitor reset
monitor halt
file /path/file.elf
load
load以后就可以连续运行或单步调试了。可以先输入list(或简写l)来查看一下是否load成功(成功则有正确的程序打印输出)。

gdb调试c程序

这个是我们Ubuntu下写的纯C程序,有bug时需要调试,我们可以使用gdb调试。前提是编译的输出文件需要有调试信息才行。
例如我们写了最简单的一个程序,编译时需要输入命令:
gcc -o output -g source.c
注意:正常输出命令没有-g,此处加-g就是为了加入调试信息。可以使用ll查看加入调试信息的output输出文件比普通输出文件大些。
调试时使用命令:
gdb output
即可进入gdb调试状态。可以使用list查看确认。

cmake生成的Makefile加入调试信息

有3种方法可以加入调试信息:

  1. 在执行cmake …命令时加入debug选项。具体命令如下:
    cmake -DCMAKE_BUILD_TYPE=Debug …
  2. 在CMakeLists.txt文件中添加语句set(CMAKE_BUILD_TYPE “Debug”)
  3. 在CMakeLists.txt文件中添加语句
    set(CMAKE_C_FLAGS “${CMAKE_C_FLAGS} -ansi -pedantic -Wall -g”)
    注意:第3种方法只有-g是起debug作用,其他的可酌情删减。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值