Hello V8 gurus! I have a V8 application that exposes a large object model for scripting. All access to host properties is via interceptors. This application is multithreaded and uses multiple V8 contexts; each context lives within its own V8 isolate.
I recently added debugging support as described in the Wiki, and I'm using Eclipse to debug script code. It works amazingly well for the tiny amount of work I had to do, but there are some issues: 1. Intercepted properties cannot be inspected in the debugger. The debugger lists them by name but cannot evaluate them, and displays each as "undefined". The DebugLookupResultValue function in runtime.cc seems to govern this behavior, but I'm not sure. 2. SetDebugMessageDispatchHandler should take an opaque pointer or something similar that could be passed to the handler. In a multi- isolate environment the handler needs to know which isolate needs debug message processing. If the debug agent could simply pass its isolate to the handler, that would be even better. 3. I'm still a bit puzzled as to what the correct usage pattern is for the debug message dispatch handler. If I'm stopped at a script breakpoint, the handler is invoked every time I inspect something in the debugger. It jumps off the debug agent's thread and onto another one as perscribed by the Wiki, only to get stuck trying to enter the isolate that's owned by the suspended script thread. Surprisingly this doesn't end up deadlocking everything, but it just feels like I'm doing something wrong. Thanks for any help you can provide! -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
