关于GDB调试和opencv的基础用法与操作
一、GDB的调试练习及其基本用法
1、GDB在调试中的可执行功能
1、设置断点使程序停住
2、 监视或修改程序中变量的值
3、跟踪代码执行过程
注:程序要能被调试,必须包含调试信息
2、GDB的用法及其GDB的调试示例练习
一、gdb调试例子:
功能:
实现对一个整型数的反转功能,比如输入123,则 输出321。 但输入100时,程序的输出结果却不正确,请找出问题。
代码:debug1.c:
#include <stdio.h>
void ShowRevertNum(int iNum)
{
while (iNum > 10)
{
printf("%d", iNum % 10);
iNum = iNum / 10;
}
printf("%d\n", iNum);
}
int main(void)
{ int iNum;
printf(“Please input a number :”);
scanf("%d", &iNum);
printf("After revert : ");
ShowRevertNum(iNum);
}
二、编译程序,然后调试生成文件
在编译文件时要用-g的参数编译,然后用gdb调试生成文件
三、查看程序行号,根据行号或者函数名设置断点,便于追踪程序的调试
注:设置断点用命令b(break)
在GDB中使用l命令查看程序行号
执行程序之后,程序根据断点分布执行,在断点处停留,可以查看具体程序信息并且按照自己的进度执行程序,便于监视或修改程序中变量的值和跟踪代码执行过程
3、GDB段错误调试
一、调试例子代码:
sentence1.c:
#include<stdio.h>
#include<string.h>
#define BUFSIZE 256
static char acBuf[BUFSIZE];
static char *pStr;
i