Linux Perl 코드를 실행/디버깅 할 수있는 EPIC 플러그인이있는 Eclipse GALILEO를 사용하고 있으며 디버깅 중에 문제가 발생합니다. 일반적으로 단계별 디버깅을 수행하고 특정 Perl 모듈이 사용되는 라인을 발견하면 "Step Into"를 클릭하면 모듈 파일을 볼 수 있으며 디버깅 화살표도 여기로 이동합니다. 이제는이 시나리오를 따르지 않는 특정 모듈이있는 것 같습니다. 대신, "Step Into"를 클릭하면 실행중인 프로세스가 백그라운드 어딘가에서 발생합니다. 나는 "Step Over"를 누를 수 있고 수행중인 코드의 결과를 볼 수는 있지만 파일 자체 나 화살표는 볼 수 없다는 것을 의미합니다.디버깅 도중 Eclipse가 Perl 모듈을 표시하지 않습니다 (EPIC 포함)
는 조금 더 명확한 코드의 다음 부분을 참조하십시오 만들려면 :
.
.
if (defined($sysname) && $sysname)
{
$sys_manager->setup_from_name($sysname);
$pf_manager->setup_from_name($sysname);
} else {
die "You must give either a --system parameter or an alias name.";
}
}
.
.
위의 부분은 내가 스텝 -을 수행 here
을 찾을 수있을 때까지 처음부터 코드 내가 $sys_manager->setup_from_name($sysname);
행에 도달 할 때까지 단계별 디버그를 수행합니다. 내가 도달하면, "Step Over"가 아닌 "Step Into"버튼을 클릭합니다. 그런 다음이 창이 열리면이 setup_from_name
메서드가있는 모듈로보기가 전환됩니다. 그러나 앞서 언급했듯이 "디버깅 화살표"는 사라집니다. 이 단계에서 "Step Over"버튼을 클릭하면 실행이 백그라운드에서 계속됩니다 (변수가 수정되는 것을 볼 수 있습니다). "Step Return"을 클릭하면 화살표가 다시 나타나고 보이는 코드를 통해 계속 진행됩니다.
또한이 특정 모듈은있는 그대로 제공되었으며 CPAN을 사용하여 설치되지 않았 음을 말씀드립니다.
folder A/ #General folder
folder B/ #Where the scripts which use the above mentioned modules are located
folder C/ #Where the modules are located
내가 그것을 언급하시기 바랍니다 아니에요 내가 명확히한다면 내 질문하지만 충분히 분명하다 바랍니다 다음과 같이 그들을 사용하는 코드 패키지의 상대적인 위치입니다. 내가 디버그 과정에서 문제가있는 모듈에 도달했을 때 나는 EPIC "(실험) 디버거 콘솔"을 사용하도록 설정하고 오류가있는 것 같습니다
UPDATE가 나타납니다. 불행히도이 디버거 데이터를 읽고 이해할 수 없습니다.
S00000003$^AS00000002''NS00000003$^DS000000010NS00000003$^ES0000001b'No such file or directory'NS00000003$^FS000000012NS00000003$^HS00000003256NS00000003$^LS00000003
전체 오류 메시지가 어쩌면이 일부 빛을 쏟아 것이 link
를 통해 사용할 수 있습니다 ..
UPDATE 나 '2 :이 오류는 부분적으로 아래에 붙여 매우 긴 메시지입니다 관련 모듈 경로가 Eclipse의 프로젝트 속성에 "Perl Include Path"에 있는지 확인하도록 제안되었습니다.하지만 불행히도 변경하지 않아도됩니다.
일부보기 이것이 일어나는 코드. 우리가 [예기치 않은 행동을 재현 할 수 없으면] (http://www.chiark.greenend.org.uk/~sgtatham/bugs.html#showmehow), 우리는 잘못된 것에 대해 짐작할 만하면됩니다. – daxim
@ daxim 코드 예와 몇 가지 추가 정보가 추가되었습니다. –