, 나는 형태의 오류가 펄 더러운 모드 오류의 원인 ... 더러운 모드에서 펄 CGI 스크립트를 실행하는 경우
Insecure dependency in some_function while running with -T switch at (eval some_line) line some_other_line.
Compilation failed in require at my-script.cgi line 39.
BEGIN failed--compilation aborted at my-script.cgi line 39.
내-script.cgi 라인 (39)이 사용하는 문은 찾기 그 자체로 eval이나 some_function을 사용하지 않는 펄 모듈은 아마 다른 라이브러리를 사용할 것입니다. some_line과 some_other_line 행 번호는 my-script.cgi 또는 my-script.cgi의 39 행에있는 'use'd 라이브러리 중 하나에서 의미가없는 것처럼 보입니다.
이 오류가 발생하면 어떻게 오염 오류가 발생하고 있는지 추적 할 수 있습니까?
내가 즉
$SIG{ __DIE__ } = sub { require Carp; Carp::confess(@_); };
스택 추적을 인쇄해야 새로운 다이 신호 처리기를 설정 시도했다 그러나이 오류에 영향을주지 않습니다 보인다. 아마도 이것은 트래핑 (trapping)되는 신호이거나, 일찌감치 일어나지 않는 신호이거나, 더 복잡한 것이 필요합니다.
내가 CGI.pm에서이 문제를 내가로 실행중인 특정 문제의 근본 원인 이었다는 것을 발견하기에 충분한 문제를 좁힐 관리 주위에 천천히 다이 문을 이동하여 -에 http : // www.nntp.perl.org/group/perl.perl5.porters/2008/01/msg133691.html 저는 이런 종류의 문제를 추적하는 일반적인 방법에 여전히 관심이 많습니다. –
그리고 이것이 사람들이 * CGI를 사용해야하는 이유입니다 (CGI를 사용하는 것은 '스스로하는 것'과 반대되는 개념입니다). 버그는 수천 명의 사용자 (사용자)의 스트레스 테스트를 통해 발견,보고 및 수정됩니다. 문제를 찾는 데 너무 좋습니다. – DavidO