> On Sat, 4 Jan 2003 22:58:28 +0800, MW Ron wrote
> >> i went and got CW8, compiled my java project and ran the de*.
> >> the machine hung for a couple of minutes, then hit the java
> >> breakpoint it then took about 20 seconds to update each of the
> >> variables on the right hand side, then another 40 seconds to
> >> redraw the bits of the de* screen overwritten by other
> >> windows. single stepping the code takes about 1 minute per line,
> >> but is faster if ii bring the debug app to the foreground.
> >> taking the project back to 5.0 and everything is great.
> >> have i missed somthing silly.
> > No you would have had the same problem with CW 5 if you were using the
> > SUN API you just forgot about this. In CW 5 we moved from MetroNub
> > debugging to the SUN API but you could still use the MetroNub with CW 5
> > if you set it up. You probably set it up but forgot about it.
> > The debugging is much faster in OS X for Java and it lets us support the
> > newer VMs and JDK versions but if you are running on Mac OS 9. the
> > stepping is just slow slow slow.
> gosh thanks ron , but i am not using os x
> 1.how can i fix it?
Upgrade to Mac OS X or downgrade to CodeWarrior Pro 5.
Metrowerks didn't have any control over this, unfortunately, and there's
nothing they can do about it. The problem is that MRJ had to move to
the Sun debugging API, and that API happens to work very poorly for
classic Mac OS.
The API requires local networking between two applications -- the Java
app and the de* -- and in a cooperatively threaded system like Mac
OS 9, local networking works very poorly. The API requires many context
switches between the JVM and the de* for each operation. In
classic Mac OS, context switches don't happen without explicit work from
the current frontmost application. Apple and Metrowerks worked together
to add the appropriate calls on both sides to make things work, but
making things fast would've required massive changes that simply weren't
possible as both companies faced the Mac OS X transition.
Hope this helps explain things,
(once upon a time on Apple's Java team)