Hotswap

Hi.

Can anyone tell me how to get started with HotSwap? I guess I am missing
something and need some guidance to get started.

Thanks,
Amnon


0
8 comments
Avatar
Permanently deleted user

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...

Hi.

>

Can anyone tell me how to get started with HotSwap? I guess I am missing
something and need some guidance to get started.

>

Thanks,
Amnon

>
>


0
Avatar
Permanently deleted user

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
0
Avatar
Permanently deleted user

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

0
Avatar
Permanently deleted user

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

0
Avatar
Permanently deleted user

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...

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...

Hi.

>

Can anyone tell me how to get started with HotSwap? I guess I am missing
something and need some guidance to get started.

>

Thanks,
Amnon

>
>

>
>


0
Avatar
Permanently deleted user

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.

Alain


0
Avatar
Permanently deleted user

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.

0
Avatar
Permanently deleted user

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...

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.


0

Please sign in to leave a comment.