Scheme backtrace from procedures inside proxies
Brought to you by:
mradestock,
scgmille
Whenever I get a SchemeInvocationException from a procedure used inside a java-proxy, there is no scheme backtrace. If I want to see the scheme backtrace I have to debug the procedure by hand.
The exception I get looks like this:
Exception in thread "AWT-EventQueue-0" sisc.modules.s2j.Util$SchemeInvocationException
at sisc.modules.s2j.Util.javaException(Unknown Source)
at sisc.modules.s2j.SchemeInvocation.invoke(Unknown Source)
at $Proxy8.checkDeclarationNode(Unknown Source)
"checkDeclarationNode" is the name of the implemented method and that's all the useful information I get.
Printing the scheme backtrace would be really useful!
Logged In: YES
user_id=722618
Originator: YES
The following patch fixes the problem for me... now it's much easier to debug java proxies... :)
Index: sisc/src/sisc/interpreter/SchemeException.java
RCS file: /cvsroot/sisc/sisc/src/sisc/interpreter/SchemeException.java,v
retrieving revision 1.10
diff -w -r1.10 SchemeException.java
40c40
< private String schemeStackTrace() {
---
> public String schemeStackTrace() {
Index: sisc/src/sisc/modules/s2j/Util.java
===================================================================
RCS file: /cvsroot/sisc/sisc/src/sisc/modules/s2j/Util.java,v
retrieving revision 1.19
diff -w -r1.19 Util.java
27a28
> super(se.schemeStackTrace());
Logged In: YES
user_id=25869
Originator: NO
Applied to CVS HEAD