使用Visual Studio Code调试Perl

12

我今天刚刚开始学习Perl,并安装了ActivePerl 5.24.1版本,一切都很顺利。我能够创建我的测试程序testPerl.pl并通过console运行简单的print命令。

现在我想使用Visual Studio Code来运行我的Perl脚本,于是我用Visual Studio Code打开了项目文件夹[testPerl.pl位置],尝试调试代码。我在编辑器中安装了Perl-Debug扩展程序。当我按下F5键时,Visual Studio Code要求我选择环境,我选择了Perl Debug选项,这实际上为我创建了launch.json文件,其内容如下。

{
    "version": "0.0.2",
    "configurations": [
        {
            "type": "perl",
            "request": "launch",
            "exec": "perl",
            "name": "Perl-Debug",
            "root": "${workspaceRoot}/",
            "program": "${workspaceRoot}/${command.AskForProgramName}",
            "inc": [],
            "stopOnEntry": true
        }
    ]
}

我将默认值保留不变,当我再次按下F5时,它要求我输入一个带有默认值test.pl的命令。 我想这是因为${command.AskForProgramName}。 我在命令中输入了我的文件名testPerl.pl,但是没有任何print在控制台中出现。

我应该如何配置这个launch.json文件,或者是否还有其他方法可以做到这一点?


这份文档中提到:“请注意,这些启动配置中可用的属性因调试器而异。您可以使用 IntelliSense 查找特定调试器存在哪些属性。” - simbabque
@simbabque同意,这是预期的,并创建自己的自动生成的launch.json文件。根据其自动生成的文件,它与我们在命令行中执行的内容非常相似。 - Guruprasad J Rao
很遗憾,我没有访问权限到可以安装ActivePerl的Windows电脑,所以我无法尝试。它看起来肯定是正确的。有没有办法将它的操作记录到你的VSCode的日志面板中? - simbabque
很遗憾,如果没有任何日志记录在编辑器中,我就无法提供详细信息了。 - Guruprasad J Rao
3个回答

3
我使用了新版本的插件:Perl Debug,版本号为0.2.0。
该插件可以直接使用,建议配置如下:
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "perl",
            "request": "launch",
            "name": "Perl-Debug local",
            "program": "${workspaceFolder}/${relativeFile}",
            "exec": "perl",
            "execArgs": [],
            "root": "${workspaceRoot}/",
            "inc": [],
            "args": [],
            "env": {},
            "stopOnEntry": true
        },
        {
            "type": "perl",
            "request": "launch",
            "name": "Perl-Debug remote",
            "program": "${workspaceFolder}/${relativeFile}",
            "root": "${workspaceRoot}/",
            "stopOnEntry": true,
            "port": 5000
        }
    ]
}

请注意,本人在使用版本为1.24.0的Visual Studio Code软件时是在Mac系统上进行测试的。


Per-Debug 远程是用来做什么的? - Timo
5
Perl调试插件的链接不再有效! - Chandra Shekhar

1
我在Mac上运行Visual Studio Code并进行了更改。
"program": "${workspaceRoot}/${command.AskForProgramName}"

"program": "${file}"

获取当前文件以进行调试。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接