我正在使用netbeans 6.1。

我的Java运行时设置中包含以下内容:

-agentlib:jdwp = transport = dt_shmem,address = jdbconn,server = y,suspend = n

以及netbeans的“附加”对话框中的以下内容:

调试器:JPDA调试器

连接器:共享内存附加(通过共享内存附加到其他VM)

运输:dt_shmem

名称:jdbconn

我从netbeans Wiki上的FaqDebuggingAppletRemotely页面获得了上述设置。

该小程序位于aspx页面中(该小程序经过签名)是一种通过客户端浏览器与旧版平台进行通信的方法,我确实是C#开发人员)。我设法显示了安全警告,这给了我附加到applet的机会,但是无论何时尝试附加,我都会看到:

附加到jdbconn

shmemBase_attach失败:系统找不到指定的文件

在netbeans的输出窗口中。

任何帮助表示感谢!

最佳答案

使用共享内存选项(transport = dt_shmem)进行调试时,您正在使用Windows内部共享内存对象在调试器和jvm之间进行通信。

这意味着如果您是:

一个。不从与jvm相同的物理机上调试,或者

b。在Windows操作系统上无法运行,

您不能在此模式下调试。

我不确定如果您在Linux工作站上的VM上运行窗口会发生什么情况……可能会起作用,也许不会。

如果以上两种情况都很好,则需要进行更深入的调查以找出问题所在,但与此同时,您可以使用普通 socket 进行连接。

在Java运行时参数中指定:

-Xdebug -Xrunjdwp:transport = dt_socket,server = y,address = 8000,suspend = y

这告诉您的jvm在 Debug模式下运行,加载jdwp库,等待连接连接到端口8000,并挂起执行直到此类连接到达。

在您的IDE中,相应地设置远程调试器。我不知道Netbeans,但是它有点像Connector = socket connector,address = 8000。
当您启动网页时,小程序将卡住加载,直到您连接为止;当然,直到到达监听阶段,您都无法连接。

祝你好运!

09-04 11:20
查看更多