存档

文章标签 ‘手把手教你玩转GDB’

手把手教你玩转GDB(2)—在GDB中玩转STL(ppt)

2011年10月1日 19 条评论

上周给team成员分享的—-GDB系列第二弹—-主要内容是分析STL中常用容器的结构,教大家如何在GDB中玩转STL,让STL的调试不再头疼。如果对GDB不是很熟的朋友,我之前推出过一系列的GDB相关的文章,可以先看一下之前的文章,然后再看这个会轻松一些。之前的GDB系列文章参见下面的“相关文章”列表。下面是flash版的PPT,大家可以先堵为快:

Get Adobe Flash player


如果觉得flasht版不够给力的朋友,可以在下面留言,向我索取原始的ppt版本,记得留下邮箱地址。或者到新浪微博,收听小武哥博客(http://weibo.com/zeshengwu),然后给我发私信索取,谢谢!

手把手教你玩转GDB(四)——–函数调用栈(call stack)探密

2010年9月23日 10 条评论

本文是GDB系列的第四篇,感兴趣的朋友可以阅读本系列的前三篇。本文的主要内容是讲如何用GDB来查看C/C++程序中函数调用栈(call stack)的相关信息,通过介绍一些相关的命令及其用法,让读者朋友能够循序渐进了解调用栈的各个方面,更好的驾驭程序。下面开始今天的内容。

我们知道,通常一个程序的运行,不外乎是A函数调用B,B函数调用C等等,等所有的调用都完成后,整个程序的运行也就ok了。在这个过程中,每当有新的函数调用,系统都会把该函数的一些信息,包括函数的参数,以及一些寄存器的值等,保存到调用栈(call stack)上。等该函数运行完成后,这些信息再从调用栈上弹出(pop)。如下图所示,是一个完整的调用栈:

在上图中,整体叫做调用栈(call stack),每一行叫做一桢(frame)。我们来看看桢信息的组成有哪些: 阅读全文…

手把手教你玩转GDB(一)——牛刀小试:启动GDB开始调试

2010年7月24日 2 条评论

写在最前面:GDB是unix相关操作系统中C/C++程序开发必不可少的工具,它的功能之强大,是其它调试器所不能匹敌的。但是,现实的工作中,有很多开发者因为GDB本身入门门槛比较高,而被拒之门,与如此强大的失之交臂。笔者在近两年的C/C++开发工作中,对GDB本身的有一点研究,在这里总结出一系列《手把手教你玩转GDB》的文章,一方面权当是对自己经验的一个总结,一方面也是真的想能够对刚接触GDB的开发者朋友带去一些帮助,让更多的人来使用如此强大的工具。今天推出第一篇:

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

1. 启动GDB开始调试:

(1)gdb program ///最常用的用gdb启动程序,开始调试的方式
(2)gdb program core ///用gdb查看core dump文件,跟踪程序core的原因
(3)gdb program pid ///用gdb调试已经开始运行的程序,指定pid即可 阅读全文…