>When debugging choose Run | Hot Swap from main menu.
>
Just did, and I got (see attached image) :
image: hotswapScreenshot.png
I'm not sure how to interpret this info : - error: add method not implemented - error: operation not supported by VM (I'm on 1.4.2) but, on the other side - Class xxxx : added for Hotwap.
One thing is for sure: the hotswap didn't happen, as I could notice when I proceeded with the debugging session.
hotswap is going to be vm specific. Changing the implementation of a method will work, but adding methods, changing method signature ect are not allowed yet. This is not an intellij thing, but a jvm thing
>hotswap is going to be vm specific. Changing the implementation of a method will work, but adding methods, changing method signature ect are not allowed yet. This is not an intellij thing, but a jvm thing
>
Too bad. Actually, I was overwritting toString(), not really "adding" a method, but close enough. Too bad.
Adding of methods to a class appears to be one of the things that isn't supported by the hotswap implementation in jdk1.4.2 However I have managed to change the internals of a method and hotswapped successfully.
I'm guessing what you're seeing here is : a) the info methods are IDEA telling you it's found a class that's changed and is adding it to the list that the vm must reload - at this point it doesn't look at what's supported b) the error methods are subsequently produced when IDEA tries to swap the classes into the vm and the vm complains because it doesn't support it.
You're right though it is a bit confusing. Maybe the "added for Hotwap" message should be a bit more like "added for attempted hotswap"
N.
Alain Ravet wrote:
Dmitry Peshehonov (JetBrains) wrote:
>>When debugging choose Run | Hot Swap from main menu. >> >>
Just did, and I got (see attached image) :
I'm not sure how to interpret this info : - error: add method not implemented - error: operation not supported by VM (I'm on 1.4.2) but, on the other side - Class xxxx : added for Hotwap.
One thing is for sure: the hotswap didn't happen, as I could notice when I proceeded with the debugging session.
This bug is not because of Ant, it's because of InvalidThreadState exception... Try to use HotSwap when the process is paused at the breakpoint. This may help.
When debugging choose Run | Hot Swap from main menu.
--
Best regards,
Dmitry Peshehonov
JetBrains, Inc, http://www.intellij.com
"Develop with pleasure!"
"Amnon I. Govrin" <agovrin@freshwater.com> wrote in message
news:bjimf0$3rp$1@is.intellij.net...
>
>
>
>
Dmitry Peshehonov (JetBrains) wrote:
>When debugging choose Run | Hot Swap from main menu.
>
Just did, and I got (see attached image) :
image: hotswapScreenshot.png
I'm not sure how to interpret this info :
- error: add method not implemented
- error: operation not supported by VM (I'm on 1.4.2)
but, on the other side
- Class xxxx : added for Hotwap.
One thing is for sure: the hotswap didn't happen, as I could notice when
I proceeded with the debugging session.
Alain
Attachment(s):
hotswapProblem.png
hotswap is going to be vm specific. Changing the implementation of a method will work, but adding methods, changing method signature ect are not allowed yet. This is not an intellij thing, but a jvm thing
charles decroes wrote:
>hotswap is going to be vm specific. Changing the implementation of a method will work, but adding methods, changing method signature ect are not allowed yet. This is not an intellij thing, but a jvm thing
>
Too bad.
Actually, I was overwritting toString(), not really "adding" a method,
but close enough. Too bad.
Thanks for the info.
Alain
I got this:
java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:92)
at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:14)
at com.intellij.debugger.f.bz.run(bz.java:1)
at com.intellij.psi.impl.r.run(r.java:4)
at com.intellij.openapi.application.b.d.runReadAction(d.java:24)
at com.intellij.psi.impl.cb.commitAndRunReadAction(cb.java:109)
at com.intellij.debugger.f.cw.a(cw.java:72)
at com.intellij.debugger.f.cw.a(cw.java:17)
at com.intellij.debugger.f.cw.a(cw.java:77)
at com.intellij.debugger.f.cc.run(cc.java)
at com.intellij.progress.c.a(c.java:52)
at com.intellij.debugger.f.cb.run(cb.java)
at java.lang.Thread.run(Unknown Source)
I guess this is because we don't have the internal compiler configured as we
only build with Ant. Is this the case?
"Dmitry Peshehonov (JetBrains)" <dyoma@intellij.com> wrote in message
news:bjioq6$i9c$1@is.intellij.net...
>
>
>
>
>
Adding of methods to a class appears to be one of the things that isn't
supported by the hotswap implementation in jdk1.4.2 However I have
managed to change the internals of a method and hotswapped successfully.
I'm guessing what you're seeing here is :
a) the info methods are IDEA telling you it's found a class that's
changed and is adding it to the list that the vm must reload - at this
point it doesn't look at what's supported
b) the error methods are subsequently produced when IDEA tries to swap
the classes into the vm and the vm complains because it doesn't support it.
You're right though it is a bit confusing. Maybe the "added for Hotwap"
message should be a bit more like "added for attempted hotswap"
N.
Alain Ravet wrote:
>>When debugging choose Run | Hot Swap from main menu.
>>
>>
Fixed in Build #921.
This bug is not because of Ant, it's because of InvalidThreadState exception... Try to use HotSwap when the process is paused at the breakpoint. This may help.
I did, and I'll try again with 922...
Thanks,
Amnon
"Alexei Nikitin" <lex@intellij.com> wrote in message
news:28302267.1063102622372.JavaMail.itn@is.intellij.net...
>
exception... Try to use HotSwap when the process is paused at the
breakpoint. This may help.