Here is what happened.
Very cleverly, I added this to a code module:
Public Const srvBet As Long = "-"
This is an idiocy, but it happened, no excuse for it.
The problem is, after this, the whole project became undebuggable, that is, it never got to the first line of AppStart. The Log showed Java errors. I'm not sure it makes sense to copy the whole list here, the top of it was
Waiting for debugger to connect...
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
It was fairly obvious that somehow I wrecked it to such an extent that normally it would not compile.
But at the time I made the mistake, I also added a lot of Resumable Subs, a whole big class, methods, lots of things. I thought some Sub name duplicated a global variable name or something similar happened.
And that was a lot of things to go through. I made a copy of the project, started commenting out what I thought was new or in any way dubious. This took a long time, hours.
I know, I know, I should have tested the project from time to time when I added something relatively little, then it would have been easier to catch mistakes. But what do you expect from someone who assigns a string to a Long constant in Process_Globals?
Now the question:
If something like this happens, the project never gets to any breakpoint, is there way to debug the Java code? Or would I just be reading the generated code and try to debug it in my head? Would that be easier than eliminating the B4X code little by little? Frankly, the error log sounds a bit like Martian to me. I looked into the Java code, too, and it did not look helpful.
Apart from not being an idiot, what is the best way to handle this situation?
Very cleverly, I added this to a code module:
Public Const srvBet As Long = "-"
This is an idiocy, but it happened, no excuse for it.
The problem is, after this, the whole project became undebuggable, that is, it never got to the first line of AppStart. The Log showed Java errors. I'm not sure it makes sense to copy the whole list here, the top of it was
Waiting for debugger to connect...
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
It was fairly obvious that somehow I wrecked it to such an extent that normally it would not compile.
But at the time I made the mistake, I also added a lot of Resumable Subs, a whole big class, methods, lots of things. I thought some Sub name duplicated a global variable name or something similar happened.
And that was a lot of things to go through. I made a copy of the project, started commenting out what I thought was new or in any way dubious. This took a long time, hours.
I know, I know, I should have tested the project from time to time when I added something relatively little, then it would have been easier to catch mistakes. But what do you expect from someone who assigns a string to a Long constant in Process_Globals?
Now the question:
If something like this happens, the project never gets to any breakpoint, is there way to debug the Java code? Or would I just be reading the generated code and try to debug it in my head? Would that be easier than eliminating the B4X code little by little? Frankly, the error log sounds a bit like Martian to me. I looked into the Java code, too, and it did not look helpful.
Apart from not being an idiot, what is the best way to handle this situation?