Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-debug-dev] Question about JDIDebugTarget.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



Back to the top