debugging remote exceptions works
I have debugging working for remote unhandled exceptions. My motivating use case was debugging messages not understood by the Context console’s embedded web server. The console is a headless app. In development, I run it with a remote-messaging connection to a headful system. Now, when there is an unhandled exception (like a message not understood), the exception requests that the headful system open a debugger (as its default action).
Before opening the debugger, the headful system replaces the sender of the first relevant context on the headless system with the last relevant context on the headful system, hiding all the remote-messaging-related contexts in between. The picture above shows an example of this. On the headful system, I sent “zork” to an object on the headless system. The debugger shows a continuous context stack which spans the two systems. This all works with little special handling in the debugger because of the complete transparency of remote messaging. It doesn’t matter that the contexts and methods that the debugger is manipulating happen to be remote.
20 November 2014 at 3:48 pm
Crucially cool! Now, if only there could be some way to preserve the original _source_ being debugged too! (instead of decompiled source).
LikeLike
20 November 2014 at 4:12 pm
Oh, it already does that. The headless system just doesn’t happen to have sources at the moment. It will later, after the module system is further along.
LikeLike