我是 Perl 新手,我需要提高其他人编写的应用程序的性能。
遵循this question的最佳答案,我正在尝试使用 DProf。
当我使用 -d:DProf
调用程序时,出现以下错误:
Options must be name=>value pairs (odd number supplied) at <file and line>
相关行仅包含
my $xml = XMLin($FileName, KeyAttr => { server => 'name' }, ForceArray => ['Package','Sensor']);
我找到了该函数的文档 here ,并且调用似乎是正确的。更自信的是,如果没有分析器,错误就不会发生。只需在 Perl 可执行文件和主应用程序文件的路径之间添加和删除 -d:DProf
探查器选项,我就可以可靠地重现错误及其缺失。
我确信有问题的行就是我提出的那行,因为我后来在它周围添加了调试打印。当错误发生时,该行之前的打印显示在错误消息之前,该行之后的打印不影响输出。
为什么会发生这种情况?我该如何分析此应用程序?
我使用的是 Perl 5.10.0。
最佳答案
Devel::DProf将自己描述为“一个已弃用的 Perl 代码分析器”。有了这样的描述,我预计会出现问题!
使用Devel::NYTProf .
关于xml - Perl 探查器中断对 XML 解析器的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63141081/