2011-07-28 2 views
0

저는 멀티 쓰레드 웹 서버 애플릿을 개발 중이며 지난 주 동안 "디버깅"도구로 system.out.println을 다루었습니다. 내가 이해하는 한 .jar 파일은 빌더에 의해 분할되어 .html 파일에 저장되고 웹 서버에 액세스 할 때 침을 뱉어 낸다.JVM에서 다중 스레드 웹 서버 디버깅

웹 서버를 운영하면서 코드를 단계별로 실행할 수있는 Java 가상 머신에 디버거 (플러그인)를 부착 할 수있는 방법이 있는지 궁금합니다. 몇 가지 중요한 예외가 있습니다. 추적하는 데 매우 실망 스럽다. 필자는 멀티 스레딩과 관련된 타이밍 문제라고 생각합니다. 따라서 멀티 스레딩은 찾을 때 더욱 신뢰할 수 없게 만들고 디버거가 적절히 처리되지 않을 수도 있습니다. 나는 그것이 중요하다고 생각하지 않지만 IDE를 구축하는 것은 Netbeans이다.

나는 이전 개발자의 성급하게 끝나지 않은 프로젝트를 맡았고, 내 머리를 잘 넘었습니다. = 가능한 솔루션을 미리 알려 주셔서 감사합니다.

+0

웹 서버 애플릿이란 무엇입니까? 넷빈은 멀티 스레드 디버깅이 가능합니다. – MRalwasser

+1

[이 FAQ 페이지] (http://wiki.netbeans.org/FaqDebuggingAppletRemotely)는 디버그 애플릿 netbeans와 같은 검색어에 대한 Google의 첫 번째 검색 결과입니다. 서버의 멀티 스레드 디버깅을 수행 할 것인지 또는 단순히 애플릿의 원격 디버깅을 수행 할 것인지 확실하지 않아 답변을 게시하지 않습니다. –

+0

아, 멀티 스레딩 경쟁 조건. 오 재미. Java 5 + 6의 동시 Util을보고 동기 및 일시적 사용 방법을 배웁니다. 이것은 매우 유용 할 수 있습니다. –

답변

1

물론 가능합니다.

적절한 인수를 사용하여 웹 서버 JVM을 시작해야 원격으로 디버깅 할 수 있습니다. http://download.oracle.com/javase/1.3/docs/tooldocs/win32/jdb.html에서 볼 수 있습니다. jdb는 javac와 함께 JDK에서 사용할 수 있습니다. 그런 다음 IDE 디버거를 실행하여 JVM 에 연결하여 클래스 소스가 어디에 있는지 알려줍니다. 디버그 정보로 컴파일하는 것을 잊지 마십시오.

Netbeans 내부에 이미 있으므로 디버그 모드로 시작하면 위에서 설명한 모든 추가 작업이 자동으로 수행됩니다.

+0

Vineet에서 주석에 링크 된 디버거 설정이 작동하지 않는 것 같습니다. 내가 본 해결책이없는 일반적인 문제처럼 보입니다. 그래서 나는 당신의 더 긴 해결책을 시도해 보는 것처럼 보입니다. 감사. –

+0

잠재적 인 충돌을해서 죄송합니다. 디버깅이 허용 된 상태에서 JVM을 시작하는 방법을 알고 있습니까? JRE 런타임 매개 변수를 수정했지만 어떤 이유로 든 저장하지 않습니다. 검색 온라인은 다른 솔루션이 없으면 다른 사람들이 이전에 갖고 있던 문제임을 보여줍니다. 추가 아이디어가 있으면 그 (것)들을 시도하게 행복 할 것입니다. –

+0

넷빈즈에서? 미안, 나는 Eclipse를한다. 아마도이 질문을 명시 적으로 열어보기를 원할 것입니다. –

관련 문제