원격 디버깅 기능을 사용하여 객체의 데이터를 얻는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1264412

문제

Eclipse의 원격 디버깅 기술과 비슷한 방법을 사용하여 원격 객체 (서버에있는)에서 데이터를 얻을 수있는 방법은 무엇입니까? 이미 클라이언트 코드가 있으며 가능하면 일부 포트에 바인딩하고 서버에서 데이터를 얻도록 확장하고 싶습니다.

솔직히 서버에서는 원격 디버깅을 허용하고 Eclipse Debugger보기에서 데이터를 볼 수 있기 때문에 서버 측 (예 : 서버에서 추가 코드 생성)을 사용하고 싶지 않습니다.

샘플 코드를 알려줄 수 있다면 더 나을 것입니다. 미리 감사드립니다.

도움이 되었습니까?

해결책

내 의견에 대한 @Romam의 응답을 읽은 후, 더 나은 솔루션은 클라이언트 요청에 응답하고 관련 객체 데이터를 수집하여 클라이언트로 반환하는 간단한 서버 측 원격 모니터링 인터페이스를 추가하는 것입니다. 서버 측 모니터링이 JMX와 호환되는 경우 클라이언트 코드를 구현할 필요조차 없습니다.

다음을 포함하여 JDPA를 사용하는 데 많은 문제가 있습니다.

  • 보안 : 사용자가 사용자 정의 클라이언트를 사용하여 서버에 원격 액세스 할 수있는 경우 일반 원격 디버거를 사용할 수도 있습니다. 이를 통해 원하는 상태를 볼 수 있고 원격으로 상태를 원격으로 변경할 수 있습니다.
  • 복잡성 : 클라이언트 측에서 JDPA 프로토콜을 운전하는 것은 간단한 일이 아닙니다.
  • 취약성 : 내가 잘못 잘못하지 않는 한, 고객은 서버 측 코드베이스의 클래스 이름, 멤버 이름 및 멤버 유형에 대한 하드 코딩 (예 : 문자열) 지식이 있어야합니다. 서버 측 객체의 구현 세부 사항을 변경하면 JDPA 코드가 잘 나올 수 있습니다.

다른 팁

여기서 필요한 것을 찾을 것 같아요.

http://www.j2ee.me/j2se/1.3/docs/guide/jpda/architecture.html

또한 '프론트 엔드'라고하는 경우 '고급 Java 디버그 인터페이스를 구현'하는 것을 구현해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top