码迷,mamicode.com
首页 > 数据库 > 详细

gdb调试5--工程项目的断点调试

时间:2018-05-26 18:54:30      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:x86_64   目录   wal   iss   span   alt   opened   c++   str   

之前说过断点调试,但是针对的是单文件的断点调试。在实际应用中,一个项目是多目录多文件的

 

目录结构:

$ tree
.
├── gdbSomeFiles.cpp
├── Libs
│   ├── add.cpp
│   ├── add.h
│   └── makefile
└── makefile

 

add.h

技术分享图片
1 #pragma once
2 
3 class CAdd
4 {
5 public:
6         CAdd(void);
7         int add(int &a, int &b);
8         virtual ~CAdd(void);
9 };
add.h

add.cpp

技术分享图片
 1 #include "add.h"
 2 
 3 CAdd::CAdd(void)
 4 {
 5 }
 6 
 7 int CAdd::add(int &a, int &b)
 8 {
 9         int ret = a + b;
10         return ret;
11 }
12 
13 CAdd::~CAdd(void)
14 {
15 }
add.cpp

上层makefile

技术分享图片
1 CFLAGS=-g -Wall -pedantic -std=c++0x
2 xmain:$(OBJS)
3 #       g++ ${CFLAGS} -c -I. add.cpp
4 #       ar rc libadd.a add.o
5 #       g++ $(CFLAGS) gdbSomeFiles.cpp -o xmain -I./Libs -L./Libs -ladd
6         g++ $(CFLAGS) gdbSomeFiles.cpp -o xmain -I./Libs -L. -ladd
7 clean:
8         rm -f xmain $(OBJS) *.o *.a *~
makefile

Libs里面的makefile

技术分享图片
1 #OBJS=gdbSomeFiles.o
2 CFLAGS=-g -Wall -pedantic -std=c++0x
3 main:
4         g++ ${CFLAGS} -c -I. add.cpp
5         ar rc libadd.a add.o
6         mv libadd.a ../
7 clean:
8         rm -f xmain $(OBJS) *.o *.a *~
makefile

 

调试:

1.图形化调试

$ gdb xmain --tui 

2. 普通调试

$  gdb xmain

 (gdb) list add.cpp:9

如果显示找不到第九行,则说明当前调试环境没有add.cpp的源码位置,添加add.cpp所在的目录位置即可。

(gdb) directory ./Libs/

或者 (gdb) dir ./Libs/

在add.cpp的第九行打断点

(gdb) break add.cpp:9

Breakpoint 1 at 0x40180e: file add.cpp, line 9.

(gdb) r
Starting program: /home/zhu_ying/GDBMultiFiles/xmain

Breakpoint 1, CAdd::add (this=0x7fffffffe2d0, a=@0x7fffffffe2dc, b=@0x7fffffffe2d8) at add.cpp:9
9 int ret = a + b;
Missing separate debuginfos, use: debuginfo-install libgcc-4.4.7-4.el6.x86_64 libstdc++-4.4.7-4.el6.x86_64

 

gdb调试5--工程项目的断点调试

标签:x86_64   目录   wal   iss   span   alt   opened   c++   str   

原文地址:https://www.cnblogs.com/guxuanqing/p/9093767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!