GDB不完全手册
巫山霏云
使用GDB调试程序必须在被调试程序中间加入调试信息,Free 都是使用的–g 选项,在命令行下使用如下方法:
fpc –g
这样编译出来的程序就带有编译信息咯,可以直接被GDB认出来。
. fpc的编译选项中文解释我已经在DRS,OIBH上面公布了,有兴趣的可以去看看,也可以去我的Website查找。
在FP的IDE中可以在Option菜单下的mode中间选择Debug模式,然后编译程序,即可使编译后的程序带有调试信息。需要说明的是没人情况下直接按F9编译出来的程序并没有带调试信息,但是当你按F7调试程序时,FP会重新按照编译模式编译一次代码,从而使你可以编译程序。
直接使用GDB有两种形式,一种从IDE里面的DeBug菜单中GDB Window进入GDB界面。这样可以直接使用GDB,但是仍然不是很稳定。我不是特别推荐,当然这个也有好处,和IDE结合比较紧密。
比较好的方法是在命令行下面输入gdb ,如下:
D:\fpc\bin\win32\ –g E:\prodata\program\temp\
Free piler version [2005/12/27] for i386
Copyright (c) 1993-2005 by Florian Klaempfl
Target OS: Win32 for i386
Compiling E:\prodata\program\temp\
Linking E:\prodata\program\temp\
99 piled, sec
D:\fpc\bin\win32\ E:\prodata\program\temp\
GNU gdb
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
e to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i686-pc-cygwin"...
(gdb)
这样便进入了GDB调试环境。当然你也可以进入GDB后用file再装入要调试的程序:
(gdb)file
Reading symbols from /cygdrive/e/prodata/program/temp/...done.
退出呢?quit拉,缩写就是q拉。小心别随便输入哦,不然你设置的断点监视什么的就没有咯,下次就会比较麻烦的咯。
(gdb)是提示符,你也可以更改的,使用 set prompt userdefine厄,我比较喜欢GDB>:
(gdb) set prompt GDB>
GDB>
我们可以设置成我们喜欢的提示符,这样看起来更加好看些。
进入后你可以查看当前的语言,GDB能够自动识别你所用的编程语言,当然也有可能不能识别,这时你可以设置一下:
GDB>show language
The current source language is "auto; currently pascal".
GDB>set language pascal
GDB>show language
The current source language is "pascal".
GDB>set language c
GDB>show language
The current source language is "c".
GDB>set language pascal
GDB>show language
The current source language is "pascal".
GDB能够自动的识别命令的缩写,这意味着我们可以不必输入冗长的代码,而只需输入部分缩写,例如list可以缩写成l,break可以缩写成b,这样的简写还有很多。你可以在GDB中尝试输入,如果GDB不能自动识别,也会给出所有的可能,然后让你选择
gdb不完全手册 来自淘豆网m.daumloan.com转载请标明出处.