0

我想知道如何使用类似于 Eclipse 的远程调试技术从远程对象(驻留在服务器上)获取数据?我已经有了客户端代码,只想将其扩展为绑定(如果可能)到某个端口并从服务器获取数据。

老实说,我不想在服务器端使用任何特定的东西(即在服务器上创建额外的代码),因为服务器已经允许远程调试,我可以在 Eclipse 调试器视图中看到数据。

如果您可以向我指出一些示例代码-那就更好了。非常感谢提前。

4

2 回答 2

1

我怀疑你会在这里找到你需要的东西:

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

并且您需要实现所谓的“前端”,即“实现高级 Java 调试接口”。

于 2009-08-12T08:10:50.843 回答
1

在阅读了@Romam 对我的评论的回复后,我认为更好的解决方案是添加一个简单的服务器端远程监控接口,该接口响应客户端请求、收集相关对象数据并将其返回给客户端。如果服务器端监控与 JMX 兼容,您甚至可能不需要实现任何客户端代码。

为此使用 JDPA 存在许多问题,包括:

  • 安全性:如果用户可以使用您的自定义客户端远程访问您的服务器,他们可能也可以使用常规远程调试器。这使他们可以看到他们想要的任何状态,并且还可能远程更改状态。
  • 复杂性:从客户端驱动 JDPA 协议很可能不是一件简单的事情。
  • 脆弱性:除非我弄错了,否则您的客户端将需要对服务器端代码库的类名、成员名和成员类型进行硬编码(例如,在字符串中)。如果您更改服务器端对象的实现细节,您的 JDPA 代码很可能会中断。
于 2009-08-12T13:41:22.513 回答