Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [platform-debug-dev] Question aboutJDIDebugTarget.initializeState()

Thanks Darin, Bug 246577 is submitted.

Thanks.

- Raymond

-----Original Message-----
From: platform-debug-dev-bounces@xxxxxxxxxxx
[mailto:platform-debug-dev-bounces@xxxxxxxxxxx] On Behalf Of Darin
Wright
Sent: Friday, September 05, 2008 5:31 PM
To: Eclipse Platform Debug component developers list.
Subject: Re: [platform-debug-dev] Question
aboutJDIDebugTarget.initializeState()

This is due to the following bug fix:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=33452

When performing an evaluation, we disable garbage collection for objects

that we allocate during the evaluation (to prevent them from being GC'd
during the evaluation... since there are no references to the
objects....). When the evaluation is complete, we re-enable garbage
collection of the objects. Not all VMs seem to support this feature,
however the JDI API does not let a VM say whether it is supported. We
found that the "Classic VM" did not support the feature, so we turn it
off
in this case. It's unfortunate the the JDI VirtualMachine interface does

not have a "canDisableEnableGarbageCollection()" method....

However, we could update our code to catch the
NotSupportedException/code.
You should file a bug for this against JDT/Debug.

Darin





"Raymond Qiu" <zqiu@xxxxxxx>
Sent by: platform-debug-dev-bounces@xxxxxxxxxxx
09/05/2008 04:03 PM
Please respond to
"Eclipse Platform Debug component developers list."
<platform-debug-dev@xxxxxxxxxxx>


To
"Eclipse Platform Debug component developers list."
<platform-debug-dev@xxxxxxxxxxx>
cc

Subject
[platform-debug-dev] Question about JDIDebugTarget.initializeState()






Hey,

I have a question about the
org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget#initializeState
()
method.
In this method, there is a piece of following code:

                        VirtualMachine vm = getVM();
                        if (vm != null) {
                                    try {
                                                String name = vm.name();
                                                fSupportsDisableGC =
!name.equals("Classic VM"); //$NON-NLS-1$
                                    } catch (RuntimeException e) {
                                                internalError(e);
                                    }

I don't understand why fSupportsDisableGC is set as true if the name of
vm
is not "Classic VM"? We are developing
a plug-in which have another vm which is implemented in J2ME. It does
not
support GC. When doing debugging, our
vm talks to eclipse vm through socket. In this code, the
fSupportsDisableGC is set as true, and later on when eclipse
debugger asks our vm to disable GC, our vm returns code 99 (not
supported). This caused some exception during
debugging.

Thanks.

- Raymond
---------------------------------------------------------------------
This transmission (including any attachments) may contain confidential
information, privileged material (including material protected by the
solicitor-client or other applicable privileges), or constitute
non-public
information. Any use of this information by anyone other than the
intended
recipient is prohibited. If you have received this transmission in
error,
please immediately reply to the sender and delete this information from
your system. Use, dissemination, distribution, or reproduction of this
transmission by unintended recipients is not authorized and may be
unlawful. _______________________________________________
platform-debug-dev mailing list
platform-debug-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/platform-debug-dev



---------------------------------------------------------------------
This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful.


Back to the top