GDB Learning Guide
2004-10-14 16:24
344 查看
GDB(GNU Source-Level Debugger)是在Linux下调试程序的工具。它能观察另一个程序在执行时的内部活动和出错时的状态。
我们通常用类似%gcc -o test test.c的命令来编译程序,现在我们加上-ggdb参数选项来产生调试信息。生成test后我们就能用%./test来执行。当然结果要么就是按预想的出现了结果,要么就是出现异常的结果。当然我们现在就说在结果异常情况下如何用GDB去查错。
我们可以用%gdb test来调试test。这样我们进入了GDB的调试状态进入(gdb)这个命令提示符。在这里我们键入run就能同样在这里执行test的程序,当然这不是我们的目的,但它确实提供了不退出GDB就能运行程序的便利。调试最基本的当然就是设断点,观察变量然后看变量怎样变化咯。假设现在知道某处的结果可能有问题,那就可以用break加代码行号来设立断点。要知道确切的行号只要输入命令list就能看到带有行号的全部程序。然后用run来运行带有断点的程序,当停在断点的时候就可以来观察变量了,用watch加变量名就可以看到它的值。然后就是步进了,当然就是next,是不是很简单呢。
还有GDB还提供了在其中执行Shell命令的功能,只要遵循shell COMMAND STRING的格式就可以了。其中对于make命令连shell也不需要键入就可以执行了。GDB还有很多的命令,同其他工具一样只要用help就能看到命令及其说明。GDB还能将一个已经运行的进程连接入GDB以便调试。用file指定进程所联系的源代码,然后用attach PROCESS-ID来连接一个运行的进程,用continue可以继续进程的运行。同样用detach可以断开调试的连接。
这里所说的只是GDB的常用功能,它拥有着所有调试所用的强大功能,要在实践中去发现和利用。
我们通常用类似%gcc -o test test.c的命令来编译程序,现在我们加上-ggdb参数选项来产生调试信息。生成test后我们就能用%./test来执行。当然结果要么就是按预想的出现了结果,要么就是出现异常的结果。当然我们现在就说在结果异常情况下如何用GDB去查错。
我们可以用%gdb test来调试test。这样我们进入了GDB的调试状态进入(gdb)这个命令提示符。在这里我们键入run就能同样在这里执行test的程序,当然这不是我们的目的,但它确实提供了不退出GDB就能运行程序的便利。调试最基本的当然就是设断点,观察变量然后看变量怎样变化咯。假设现在知道某处的结果可能有问题,那就可以用break加代码行号来设立断点。要知道确切的行号只要输入命令list就能看到带有行号的全部程序。然后用run来运行带有断点的程序,当停在断点的时候就可以来观察变量了,用watch加变量名就可以看到它的值。然后就是步进了,当然就是next,是不是很简单呢。
还有GDB还提供了在其中执行Shell命令的功能,只要遵循shell COMMAND STRING的格式就可以了。其中对于make命令连shell也不需要键入就可以执行了。GDB还有很多的命令,同其他工具一样只要用help就能看到命令及其说明。GDB还能将一个已经运行的进程连接入GDB以便调试。用file指定进程所联系的源代码,然后用attach PROCESS-ID来连接一个运行的进程,用continue可以继续进程的运行。同样用detach可以断开调试的连接。
这里所说的只是GDB的常用功能,它拥有着所有调试所用的强大功能,要在实践中去发现和利用。
相关文章推荐
- A Full Hardware Guide to Deep Learning
- Learning Spatiotemporal Features with 3D Convolutional Networks (C3D User Guide) 实验过程
- GDB Quick Guide
- The E-Learning Handbook: A Comprehensive Guide to Online Learning
- Learning Spatiotemporal Features with 3D Convolutional Networks (C3D User Guide)
- A Gentle Guide to Machine Learning
- GDB Guide
- Learning PHP & MySQL: Step-by-Step Guide to Creating Database-Driven Web Sites [ILLUSTRATED]
- A Guide to Deep Learning
- learning gcc&gdb
- The non-techie’s guide to machine learning
- (免积分下载)Building Intelligent Systems: A Guide to Machine Learning Engineering
- Microsoft Windows Scripting Self-Paced Learning Guide
- Learning Web Design: A Beginner's Guide to (X)HTML, StyleSheets, and Web Graphics [ILLUSTRATED]
- PHP This! A Beginners Guide To Learning Object Oriented PHP
- Microsoft Windows Scripting Self-Paced Learning Guide
- Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages/Bruce A. Tate-图书-卓越亚马逊
- LINQ/C# Learning Guide - via TheServerSide
- Learning ASP.NET 2.0 with AJAX: A Practical Hands-on Guide [ILLUSTRATED]
- Beginners Guide to Getting Started with AS3 (Without Learning Flex)