linux-c/c++调试利器gdbddd小试

Posted qingchen1984

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux-c/c++调试利器gdbddd小试相关的知识,希望对你有一定的参考价值。

linux-c/c++调试利器gdb、ddd小试

原文链接: http://deepfuture.iteye.com/blog/749148

博客分类:

一、gdb,在shell窗口调试

main.c内容:

main.c

#include <stdio.h>

int main() 

{

int y=0;

for (int i=0;i<10;i++){

   y+=i;

}

return 0;

}

深未来技术原创文章,如转载,请注明来源http://deepfuture.iteye.com/ 

编译:

 

[email protected]:~/test$ gcc -ggdb -std=c99 -o main main.c

 

启动gdb

1、gdb 执行文件名

 

[email protected]:~/test$ gdb main

GNU gdb (GDB) 7.1-ubuntu

Copyright (C) 2010 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.  Type "show copying"

and "show warranty" for details.

This GDB was configured as "i486-linux-gnu".

For bug reporting instructions, please see:

<http://www.gnu.org/software/gdb/bugs/>...

Reading symbols from /home/deepfuture/test/main...done.

2、list为列出源代码

(gdb) list

1

2 #include <stdio.h>

3 int main() 

4 {

5 int y=0;

6 for (int i=0;i<10;i++){

7   y+=i;

8 }

9 return 0;

10 }

3、运行
(gdb) run
Starting program: /home/deepfuture/test/main 
 
Program exited normally.
4、退出gdb
(gdb) quit
5、启动gdb后,再设置要加载的文件
(gdb) file main
Reading symbols from /home/deepfuture/test/main...done.
 
6、设置断点,,使用break行号
 
(gdb) list
warning: Source file is more recent than executable.
1
2 #include <stdio.h>
3 int main() 
4 {
5 int y=0;
6 for (int i=0;i<10;i++){
7   y+=i;
8 }
9 return 0;
10 }
 
(gdb) break 7
Breakpoint 1 at 0x80483ca: file main.c, line 7.
 
7、运行,run
(gdb) run
Starting program: /home/deepfuture/test/main 
 
Breakpoint 1, main () at main.c:7
7   y+=i;
8、离开这个断点,继续运行
(gdb) c
Continuing.
9、监视变量
(gdb) watch y
Hardware watchpoint 2: y
10、检查变量变化
(gdb) c
Continuing.
Hardware watchpoint 2: y
 
Old value = 1
New value = 3
main () at main.c:6
6 for (int i=0;i<10;i++){
(gdb) c
Continuing.
 
Breakpoint 1, main () at main.c:7
7   y+=i;
(gdb) c
Continuing.
Hardware watchpoint 2: y
 
Old value = 3
New value = 6
main () at main.c:6
6 for (int i=0;i<10;i++){
 
 
二、ddd,使用
可以在选择行或某变量后,watch,break等按钮,很方便
右中部的面板是一些流程调试
技术分享
 图形方式调试
 
 
 

技术分享
 

以上是关于linux-c/c++调试利器gdbddd小试的主要内容,如果未能解决你的问题,请参考以下文章

远程文件浏览器Unity+Lua开发调试利器

远程文件浏览器Unity+Lua开发调试利器

小试牛刀chrome来调试APP

小试Squirrel松鼠脚本的远程调试功能

第一部分牛刀小试:启动GDB开始调试

博客园设置访问数量统计-小试牛刀