gdb调试问题。。

C、C++和Java语言
回复
space006
帖子: 30
注册时间: 2009-11-05 23:17
送出感谢: 0
接收感谢: 0

gdb调试问题。。

#1

帖子 space006 » 2010-11-26 9:35

Reading symbols from /home/tangjunlin/文档/code/CHAPTER_5/TEST5_2...done.
(gdb) break main
Breakpoint 1 at 0x8048637 ——》这个地方没有显示行号 我看的书实例上是由行号的 而且有行号比较方便
(gdb) run
Starting program: /home/tangjunlin/文档/code/CHAPTER_5/TEST5_2

Breakpoint 1, 0x08048637 in main ()
(gdb)



后来我又试了下 在gcc编译的时候使用了选项 -l std c++ 不然编译不能通过
若不使用上面的选项 调试其他程序的时候每设置一个断点 运行的时候会显示运行过的程序段 如下图所示:
Breakpoint 1, main () at test11.c:6
6 printf(" ab c\t de\rf\tg\n");
(gdb) s
fab c gde
7 printf("h\ti\b\bjd");
(gdb) s

Breakpoint 2, main () at test11.c:8
8 return 0;
(gdb) s
9 }

加上-l std c++ 选项 编译是通过了 但是调试的时候感觉没有什么调试信息了 没有行号 也没有运行过的程序段代码
gdb的东西用起来还真是麻烦啊。。。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
送出感谢: 0
接收感谢: 7 次
联系:

Re: gdb调试问题。。

#2

帖子 BigSnake.NET » 2010-11-26 12:44

1. -g
2. 你用 c++ 当然要连接 c++ 运行库这是常识 ..
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
feirainy
帖子: 9
注册时间: 2009-07-03 18:52
送出感谢: 0
接收感谢: 0

Re: gdb调试问题。。

#3

帖子 feirainy » 2010-11-29 18:06

编译C++:
g++ -g -Wall ...
有行号呀
(gdb) b main
Breakpoint 1 at 0x8048b76: file Exercise2.5.cpp, line 54.
(gdb)
头像
Ubuntu与Linux
帖子: 1211
注册时间: 2010-06-09 19:57
送出感谢: 2 次
接收感谢: 9 次

Re: gdb调试问题。。

#4

帖子 Ubuntu与Linux » 2010-11-29 21:16

改个GDB的前端试试
回复

回到 “C/C++/Java”