Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Perl调试器_Perl_Debugging - Fatal编程技术网

如何使用Perl调试器

如何使用Perl调试器,perl,debugging,Perl,Debugging,我想使用 perl -d example.pl 我读过perldebug,但它对我来说太抽象了,所以我想我需要一个例子来逐步练习。这就像“请你给我一个如何驾驶汽车的例子” 我已经解释了您最常使用的基本命令。除此之外,您还必须阅读调试器的内联帮助并重新阅读文档 调试器首先显示要执行的下一行:通常是程序中的第一行 调试器命令大多是单字母,可能带有参数。只要按Enter键,该命令将立即执行 您应该集中精力使用命令s和n逐步完成程序。如果下一条语句是子例程(或方法)调用,则s将步进子例程,而n将

我想使用

perl -d example.pl
我读过perldebug,但它对我来说太抽象了,所以我想我需要一个例子来逐步练习。

这就像“请你给我一个如何驾驶汽车的例子”

我已经解释了您最常使用的基本命令。除此之外,您还必须阅读调试器的内联帮助并重新阅读文档

  • 调试器首先显示要执行的下一行:通常是程序中的第一行

  • 调试器命令大多是单字母,可能带有参数。只要按Enter键,该命令将立即执行

  • 您应该集中精力使用命令
    s
    n
    逐步完成程序。如果下一条语句是子例程(或方法)调用,则
    s
    将步进子例程,而
    n
    将步进调用。否则,
    s
    n
    的行为相同

    当一行代码包含多个子例程调用时,请小心使用
    s
    。您可能没有进入预期的子例程

    不能单步执行内置函数或非Perl编写的子例程

    一旦您执行了一条语句,就无法返回了。您必须重新启动程序才能尝试其他操作

  • 只需输入一行Perl代码并按Enter键,就可以执行它。代码将在当前语句的上下文中执行

    您可以通过这种方式检查或修改任何变量

  • p
    命令与
    print
    相同。
    p$var
    p@arr
    的输出将与您键入的
    p$var
    p@arr
    相同

  • 您可以使用
    x
    在列表上下文中转储表达式。输出由显示列表中每个元素的编号行组成

  • 命令dot
    、hyphen
    -
    v
    对于查看源代码非常有用
    -
    将分别显示当前和上一个源代码行
    v
    将在当前源行周围显示一个窗口

  • 要快速返回到特定的代码行,可以设置断点并使用
    c
    命令继续执行,直到该行。例如,
    c13
    Enter将执行所有代码,直到第13行,然后停止

    使用
    c
    定义的断点是临时的,因此如果要再次继续到同一行(在循环中),则必须再次输入
    c13
    enter

    不带任何参数的
    c
    将运行程序的其余部分,直到退出或到达使用
    b
    定义的永久断点

  • 可以使用
    b
    命令指定条件更复杂的断点。只能使用相应的
    B
    命令或将清除所有断点的
    B*
    命令删除这些断点

  • h
    显示可用命令的列表,
    h*command*
    ,如
    hc
    ,将显示单个命令的详细帮助

  • 最后,
    q
    将结束调试会话并终止程序

调试器的作用远不止这些,但这些是您需要了解的基本命令。您应该对它们进行实验,并查看帮助文本的内容,以便更熟练地使用Perl调试器。

这就像“请您给我一个如何驾驶汽车的示例”

我已经解释了您最常使用的基本命令。除此之外,您还必须阅读调试器的内联帮助并重新阅读文档

  • 调试器首先显示要执行的下一行:通常是程序中的第一行

  • 调试器命令大多是单字母,可能带有参数。只要按Enter键,该命令将立即执行

  • 您应该集中精力使用命令
    s
    n
    逐步完成程序。如果下一条语句是子例程(或方法)调用,则
    s
    将步进子例程,而
    n
    将步进调用。否则,
    s
    n
    的行为相同

    当一行代码包含多个子例程调用时,请小心使用
    s
    。您可能没有进入预期的子例程

    不能单步执行内置函数或非Perl编写的子例程

    一旦您执行了一条语句,就无法返回了。您必须重新启动程序才能尝试其他操作

  • 只需输入一行Perl代码并按Enter键,就可以执行它。代码将在当前语句的上下文中执行

    您可以通过这种方式检查或修改任何变量

  • p
    命令与
    print
    相同。
    p$var
    p@arr
    的输出将与您键入的
    p$var
    p@arr
    相同

  • 您可以使用
    x
    在列表上下文中转储表达式。输出由显示列表中每个元素的编号行组成

  • 命令dot
    、hyphen
    -
    v
    对于查看源代码非常有用
    -
    将分别显示当前和上一个源代码行
    v
    将在当前源行周围显示一个窗口

  • 要快速返回到特定的代码行,可以设置断点并使用
    c
    命令继续执行,直到该行。例如,
    c13
    Enter将执行所有代码,直到第13行,然后停止

    使用
    c
    定义的断点是临时的