Perl入门(七) Perl脚本的调试
版权声明:本文为博主原创文章。未经博主同意不得转载。
https://blog.csdn.net/sunshoupo211/article/details/32711165
编程中错误不可避免。调试可以帮助我们发现有问题的代码段。在网上看了一下Perl脚本调试,发现事实上非常多东西并不须要,并且那么多也没人看。
以下简单整理一下。
1.进入debug。
使用-d。进入debug状态。
例:perl -d Perl程序名称。
2.设置断点
b:设置断点。例:b 行号。
c:程序运行到下一个断点处,或运行到指定行。
例:c ;c 行号;
d:删除一个断点。
例:d 断点所在行号;
D:删除全部断点。例:D;
L:列出全部断点。例:L。
3.程序调试
n:运行下一行,跳过方法;
s:运行下一行,假设是方法则进入方法体。
4.查看变量值
p:查看变量值。例:p 变量名;
x:查看变量值并结构化显示。
x 变量名。
使用工具进行调试
相似浏览器的F12功能。Perl也提供了调试工具ptkdb。使用该工具须要两个模型包:Tk和ptkdb。
使用例如以下命令可以安装着两个包
perl -MCPAN -e'install Tk'
perl -MCPAN -e'install Devel::ptkdb'使用工具进行调试
perl -d:ptkdb Perl程序名称此时会启动调试工具。界面截图例如以下:
step in 等价于s。
step over 等价于 n;
run to 等价于c;
break 等价于b;
Perl入门(七) Perl脚本的调试的更多相关文章
- windows下perl的安装和脚本的运行
参考 1.windows下perl的安装和脚本的运行: 2.fddb测试fddb的评估方法: 3.gunplot5.2.4-download: 完
- Jmeter Web 性能测试入门 (七):Performance 测试中踩过 Jmeter 的坑
脚本运行的过程中,大量request抛error,但没有地方能够查看request是因为什么error的. 原因:Jmeter默认禁掉了运行过程中每个request的具体response信息收集,只保 ...
- Shell脚本的调试技术
编程中必不可少的一点就是调试,Shell脚本以其强大的功能令人向往,当然,它的强大之处不只是体现在语言的实现功能上,更强大的是它的调试功能,下面,我将以实例讲解Shell脚本的调试技术. 下面是我所用 ...
- Shell脚本的调试方法
Shell脚本的调试方法 Shell提供了一些用于调试脚本的选项,如下所示: -n 读一遍脚本中的命令但不执行,用于检查脚本中的语法错误 -v 一边执行脚本,一边将执行过的脚本命令打印到标 ...
- C#基础入门 七
C#基础入门 七 接口 由于C#语言不支持多重继承,所以可以使用接口模拟结构的继承,通过使用interface关键字,定义一个接口. interface USB { void Read(string[ ...
- Python爬虫入门七之正则表达式
在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的 ...
- 转 Python爬虫入门七之正则表达式
静觅 » Python爬虫入门七之正则表达式 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串 ...
- [Perl系列—] 2. Perl 中的引用使用方法
Perl 中的引用,为什么要使用引用? 对于熟悉C语言的开发人员来说, 指针这个概念一定不陌生. Perl 的引用就是指针,能够指向变量.数组.哈希表甚至子程序. Perl5中的两种Perl引用类型为 ...
- Veins(车载通信仿真框架)入门教程(四)——调试及记录结果
Veins(车载通信仿真框架)入门教程(四)——调试及记录结果 在Veins入门教程(三)最后的动图中(如下图)可以看到大大小小的光圈,这个怎么实现的呢? 很简单,以收到RTS消息为例,通过finHo ...
随机推荐
- Git命令学习笔记
一.本地代码增,删,改,查,提交,找回git checkout . //抛弃工作区所有修改git checkout -- <file> //抛弃工作区& ...
- Java入门系列-25-NIO(实现非阻塞网络通信)
还记得之前介绍NIO时对比传统IO的一大特点吗?就是NIO是非阻塞式的,这篇文章带大家来看一下非阻塞的网络操作. 补充:以数组的形式使用缓冲区 package testnio; import java ...
- Java开发规范(MySQL开发规范)-《阿里巴巴Java开发手册》
官方介绍:https://yq.aliyun.com/articles/69327 官方GitHub(包括IDE规范检查插件):https://github.com/alibaba/p3c 1.0.2 ...
- HTTP Error 502.5 - Process Failure asp.net core error in IIS
在windows server 2012 上安装完dotnet-win-x64.1.1.1.exe 和 DotNetCore.1.0.4_1.1.1-WindowsHosting.exe后,没有重启服 ...
- 【读书笔记】读《编写可维护的JavaScript》 - 编程实践(第二部分)
本书的第二个部分总结了有关编程实践相关的内容,每一个章节都非常不错,捡取了其中5个章节的内容.对大家组织高维护性的代码具有辅导作用. 5个章节如下—— 一.UI层的松耦合 二.避免使用全局变量 三.事 ...
- log4js日志
安装log4js:npm install log4js express中配置log4js中间件: var log = require("./modules/utils/logUtil.js& ...
- Java 线程--继承java.lang.Thread类实现线程
现实生活中的很多事情是同时进行的,Java中为了模拟这种状态,引入了线程机制.先来看线程的基本概念. 线程是指进程中的一个执行场景,也就是执行流程,进程和线程的区别: 1.每个进程是一个应用程序,都有 ...
- 七 FileChannel
FileChannel是一个连接到文件的通道,可以通过文件通道读写文件 FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下. 打开FileChannel 在使用FileChannel之 ...
- cnpm 安装
国内npm 安装比较慢,可选择cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org
- 老生常谈:++a与a--区别
a++的作用是先对a进行操作再++:a--则相反. 如: int a = 1;int b = a++; //此时先运算b=a,再a++,故b=1,a=2int c = --a; //此时先--a,再运 ...