1 / 3
文档名称:

GDB调试程序6--查看源程序.pdf

格式:pdf   页数:3
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

GDB调试程序6--查看源程序.pdf

上传人:紫岑旖旎 2012/9/15 文件大小:0 KB

下载得到文件列表

GDB调试程序6--查看源程序.pdf

文档介绍

文档介绍:IT-Homer 专栏
成功是优点的发挥,失败是缺点的积累! 不为失败找理由,只为成功找
方法……
GDB调试程序6--查看源程序
分类: Linux 2010-10-12 13:52 229人阅读评论(0) 收藏举报
用GDB调试程序(完全手册)
http://blog./u2/87718/
查看源程序
一、显示源代码
    GDB 可以打印出所调试程序的源代码,当然,在程序编译时一定要加上-g的参数,把源程序信息编译到执行文
件中。不然就看不到源程序了。当程序停下来以后, GDB会报告程序停在了那个文件的第几行上。你可以用list命
令来打印程序的源代码。还是来看一看查看源代码的GDB命令吧。
    list <linenum>
        显示程序第linenum行的周围的源程序。
    list <function>
        显示函数名为function的函数的源程序。
    list
        显示当前行后面的源程序。
    list -
        显示当前行前面的源程序。
一般是打印当前行的上5行和下5行,如果显示函数是是上2行下8行,默认是10行,当然,你也可以定制显示的范
围,使用下面命令可以设置一次显示源程序的行数。
    set listsize <count>
        设置一次显示源代码的行数。
    show listsize
        查看当前listsize的设置。
list命令还有下面的用法:
    list <first>, <last>
        显示从first行到last行之间的源代码。
    list , <last>
        显示从当前行到last行之间的源代码。
    list +
        往后显示源代码。
一般来说在list后面可以跟以下这们的参数:
    <linenum>   行号。
    <+offset>   当前行号的正偏移量。
    <-offset>   当前行号的负偏移量。
    <filename:linenum>  哪个文件的哪一行。
    <function>  函数名。
    <filename:function> 哪个文件中的哪个函数。
    <*address>  程序运行时的语句在内存中的地址。
1
二、搜索源代码
不仅如此,GDB还提供了源代码搜索的命令:
    forward-search <regexp>
    search <regexp>
        向前面搜索。
    reverse-search <regexp>
        全部搜索。
其中,<regexp>就是正则表达式,也主一个字符串的匹配模式,关于正则表达式,我就不在这里讲了,还请各位查
看相关资料。
三、指定源文件的路径
某些时候,用-g编译过后的执行程序中只是包括了源文件的名字,没有路径名。GDB提供了可以让你指定源文件的路
径的命令,以便GDB进行搜索。
    directory <dirname ... >
    dir <dirna