是否有一个很好的工具来调试基于Perl的Web应用程序?

时间:2009-07-29 10:50:11

标签: perl debugging

是否有一个很好的工具来调试基于Perl的Web应用程序?输出到stderr或stdout不算作工具。

6 个答案:

答案 0 :(得分:11)

是的,我已经为你准备了完美的工具。

CGI::Inspect允许您检查和调试正在运行的Perl Web应用程序。

详细了解the module上的developer's website

或者查看YAPC :: NA 2009的slides from a presentation about it

答案 1 :(得分:2)

Komodo IDE仅支持remote debugging

答案 2 :(得分:2)

Eclipse的EPIC plugin也允许你这样做。

答案 3 :(得分:2)

在CGI中,您可以

use CGI::Carp qw(fatalsToBrowser);

它会在您的浏览器中显示任何致命消息。

使用Mason,保留默认错误选项,该选项在浏览器中输出调用堆栈。

答案 4 :(得分:1)

关于这一方的晚会,但我觉得应该召集一些其他工具以防万一其他人偶然发现这个问题。

Perl命令行调试器完全可以使用,但偶尔难以使用,并且具有相当陡峭的学习曲线,特别是对于那些习惯使用GUI工具的人。

Devel::hdb是一个很棒的工具。它集成了Perl中现有的调试功能,因此您可以使用-d:hdb作为标志启动应用程序,然后您可以访问基于Web的端点以轻松地开始逐步执​​行应用程序。它支持断点,监视表达式和步进,因此它可以帮助您找出问题在某个实际应用程序中的位置。

如前所述,ActiveState的Komodo IDE(不是Edit)有一个内置的图形化调试器,可以在本地实例上运行,也可以在远程服务器上运行。远程服务器必须安装一些库,并在代码中激活才能工作。它不是侵入性的,但它应该是众所周知的。此外,Komodo花钱,但他们提供试用期。它适用于Windows,OS X或Linux。 ActiveState的Perl Dev Kit也有一个独立的调试器,但我多年没有使用它了。

答案 5 :(得分:0)

我们不要假设like the first answer所使用的模块是CGI,而是提供适用于/支持PSGI/Plack所支持的任何内容的内容。

也许组合Plack::Middleware::Debug(显示有关活动请求和响应的信息,可能添加Log4perl面板)和Devel::hdb以在单独的选项卡中调试正在运行的代码。

同样可用(我还没试过)是InteractiveDebugger

您尝试的任何内容都应该在单个进程中运行,非分叉服务器(如HTTP::Server::PSGIHTTP::Server::Simple::PSGI)用于开发和调试,而不是像Starman那样。