【发布时间】:2020-11-18 07:18:41
【问题描述】:
我是 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 profiler 选项,我就可以可靠地重现错误及其缺失。
我确定有问题的行就是我提出的那一行,因为我后来在它周围添加了调试打印。发生错误时,此行之前的打印显示在错误信息之前,此行之后的打印不影响输出。
为什么会发生这种情况,我该如何分析这个应用程序?
我正在使用 Perl 5.10.0。
【问题讨论】:
-
嘿,那个
XML::Simple是很久以前的了,而且是Perl 版本……被锁在时间胶囊里了? :) 但是,您可以使用现代工具对其进行分析,而不是使用另一个过时(已弃用!)的片段...