怎么调试perl程序(3) Monday, October 12, 2009

启动调试程序

若要启动P e r l调试程序,必须打开操作系统的命令提示符。如果你是D O SWi n d o w s用户,那么要打开M S - D O S的标准提示符C : \。如果是U N I X用户,这个提示符应该是你登录时显示的提示符(通常是%或$)。对于运行P e r lM a c i n t o s h用户来说,只需从S c r i p t菜单中选定D e b u g g e r。这时就会为你打开带有提示符的D e b u g g e r窗口。

若要在提示符处启动调试程序(本例中使用D O S提示符),请键入下面这行命令:

> perl -d XPath.pl stocks.xml

P e r l- d开关可使P e r l以调试方式启动运行。命令行上也指明了被调试的程序。然后显示关于版本信息的某些消息,如下所示:

Loading DB routines from perl5db.pl version 1.22

Editor support available.

 

Enter h or `h h' for help, or `perldoc perldebug' for more help.

 

main::(XPath.pl:5):     my $filename = shift;

  DB<1>

该调试程序首先显示版本号( 1 . 0 4 0 1,你的版本号可能不一样)和help (帮助)提示。接着显示该程序的第一行可执行代码。说明它们来自什么文件(XPath.pl),以及它们是在文件的哪一行或哪几行上找到的(第5行)。

最后,你看到调试文件的提示符D B < 1 >。这里面的数字显示你执行了多少命令。一个类似 csh 的历史机制可以让你通过数字访问前面的命令。比如 17 将重复命令数为 17 的命令。尖括号的数目表示调试器的深度。比如,如果你已经在一个断点了,然后又打印一个函数调用的结果,而且那个函数里面也有一个断点,那么你就会看到多于一对尖括号。调试程序提示符后面的光标正等待你输入命令。

这时,你的P e r l程序实际上暂停在第一个指令-my $filename的前面。每当调试程序向你显示程序中的一个语句时,它就是准备要执行的语句,而不是上一个运行的语句。

现在调试程序已经作好准备,等待你输入命令。 

0 comments: