我正在翻阅7900行perl代码.我需要改变一些事情,事情进展顺利,即使我只有36个小时进入perl.我学习了语言的基本结构,并且能够完成小事.但突然之间我发现了一个函数调用,它在任何地方都没有任何定义.我多次grep’ed检查所有’sub’.我找不到函数定义.我错过了什么?这个函数的定义在哪里.我很确定这是一个用户定义的函数,而不是库函数(从我的名字我猜这个).
请帮我找到这个函数的定义.
请帮我找到这个函数的定义.
(cfg_machine_isActive($ep)) { staf_var_set($ep,VAR_PHASE,PHASE_PREP); staf_var_set($ep,VAR_PREP,STATE_RUNNING); } else { cfg_machine_set_state($ep,STATE_Failed); } } $rc = rvt_deploy_library(); #this is the function that is the problem dump_states() unless ($rc != 0);
这是答案:
(我不能发布这个答案本身因为我没有足够的声誉)
>perl.exe -d <filename>.pl
这启动了调试器.
然后;做
b <name of the function/subroutine who's deFinition you are looking for>
在我们的情况下,这将意味着进入:
b rvt_deploy_library
这使调试器具有所需的功能.现在,您可以看到行号.以及控制台上的函数/子例程的位置.
main::rvt_deploy_library(D:/CAT/rvt/lib/rvt.pm:60):