当前位置:首页 » 专业资讯
开发技术指南» 文章正文
    引言: 一般我们使用GDB(或其他调试工具)是为了发现程序bug,更经常地是在已知程序有错的情况下定位bug。
 

 

 ·常用文件重定向命令    »显示摘要«
    摘要:常用文件重定向命令 command > filename 把把标准输出重定向到一个新文件中 command >> filename 把把标准输出重定向到一个文件中(追加) command 1 > fielname 把把标准输出重定向到一个文件中 command > filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中 command 2 > f......
 ·linux中lvm的创建过程    »显示摘要«
    摘要:lvm(logical volumn manager):总体思路:分区成lvm格式(8e)---pv创建--vg创建---lv创建---格式化分区---mount分区----e2fsadm调整lv大小几个关键词:pv (physical volumn);vg(volumn group); lv(logical volumn);pe(physical extend物理块 default 4m); le(logical extend逻辑块) pe:le=1:1......


GDB轻松调试

在了解gdb可以做什么,怎么做之前,让我们先来看看为什么要用gdb,或者说对调试工具有什么期望。

为了查看程序运行过程中的状态,我们就希望程序能在适当的位置或者在一定的条件下能够暂停运行;为此,调试工具提供了断点、查看变量/表达式、显示程序栈等功能。看了某个点的“内幕”后,我们还期望更多,所以要能控制程序运行才行,这就要求断点、继续运行、单步(多步)运行、进入函数运行等功能,在某些情况下,还需要通过修改当前的执行环境(变量等)来达到期望的执行顺序。也就是说,光看着是不够的,还需要能改才行。 【相关文章:LINUX中软件RAID的创建过程

一般我们使用gdb(或其他调试工具)是为了发现程序bug,更经常地是在已知程序有错的情况下定位bug。既然这样,我们就需要跟踪程序的执行情况,查看程序执行是否正常,当然这就需要有个让我们与执行程序交互的环境,调试工具提供一个能让程序在你的掌控下执行,并让你能够查看一些执行过程中的“内幕信息”的环境。 【扩展阅读:SLES 8 rlogin 超级用户登录

一般我们使用gdb(或其他调试工具)是为了发现程序bug,更经常地是在已知程序有错的情况下定位bug。既然这样,我们就需要跟踪程序的执行情况,查看程序执行是否正常,当然这就需要有个让我们与执行程序交互的环境,调试工具提供一个能让程序在你的掌控下执行,并让你能够查看一些执行过程中的“内幕信息”的环境。 【扩展信息:think in recent thin

一、引言

在了解gdb可以做什么,怎么做之前,让我们先来看看为什么要用gdb,或者说对调试工具有什么期望。

为了查看程序运行过程中的状态,我们就希望程序能在适当的位置或者在一定的条件下能够暂停运行;为此,调试工具提供了断点、查看变量/表达式、显示程序栈等功能。看了某个点的“内幕”后,我们还期望更多,所以要能控制程序运行才行,这就要求断点、继续运行、单步(多步)运行、进入函数运行等功能,在某些情况下,还需要通过修改当前的执行环境(变量等)来达到期望的执行顺序。也就是说,光看着是不够的,还需要能改才行。

理解了这些问题后,我们就明白gdb的各个功能的用意了,自然也就明白该如何使用调试工具了。当然,要让gdb有效的发挥作用,还是需要一定的经验与技巧,而这主要靠实践,学习资料(包括本文)充其量只能帮你一把(小心别让它帮倒忙)。

总而言之,我们首先要明白使用调试工具的目的与用意,才能理解它的各项功能,才能借助它快速有效的发现问题;否则,即使工具再强大,你也不知道该如何使用才好。

另外要多结合使用代码检视、运行日志、测试工具等方法来发现潜在的问题,提供程序的质量。这些问题将在另文探讨,先做个广告。

 二、gdb能做什么

gdb可以用来调试c、c++、modula-2的程序。一般来说,gdb能做的事大致可以分为四类:

1、启动程序,按指定的方式执行程序。

2、在指定条件下使程序暂停.

3、当程序被停住时,可以检查此时你的程序中的变化。

4、改变程序中的变量或执行顺序来试验。

 三、gdb使用概述

首先要了解的是gdb的help命令,因为你可能记不住各个命令的语法与用途,但只要能正确使用help命令,你就不需要任何其它的gdb资料。

启动gdb后,输入help

[eric@linux eric]$ gdb

gnu gdb red hat linux (5.3.90-0.20030710.40rh)

copyright 2003 free software foundation, inc.


...   下一页
    摘要:exploit tcp syn vulerability and illustrate the process. (refer to tcp syn-flood and land attack) denial of service (dos) 攻擊的對象是針對連上internet的網路和裝置。他的目的並不是要偷取您的資料,而是而是 要讓您的網路無法正常運作,導致使用者無法再存取網路資源。 dos 攻擊並不需要攻擊者具備什麼技術能力,任何人只需要一支攻擊程式......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE