"Include Debug Information" Missing in B4A 1.8

Highwinder

Active Member
Licensed User
Longtime User
I just noticed that "Include Debug Information" option is missing from the IDE in B4A 1.8. Why was this removed?

My releases include the debug info to help me fix any errors quickly. But now, if anybody has any errors in one of my apps, the errors will be relating to Java, not my B4A code - losing this feature really presents a new headache. Imagine a Visual Basic developer releasing a product that only gives debug information in C++. It's worthless information. At least with the B4A debug info, you knew where to go to fix the code.

Sadly, I'm uninstalling 1.8 and going back to 1.7 because I really rely on that debugging information in my releases.

Very strongly request that the "Include Debug Information" Option be Restored.

Thanks,

- Highwinder
 
Last edited:

peacemaker

Expert
Licensed User
Longtime User
You missed the new dropdown box with compilation variants: debug, release, release (obfuscated).
 
Upvote 0

Kevin

Well-Known Member
Licensed User
Longtime User
I don't release apps with debugging anyway, but unless I am missing something there is another problem though.

In the new version (as best I can tell), when you build for debugging it wants to connect the debugger when the app runs. So is it even possible to release an app with debugging info that doesn't want to attach to the debugger?
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Currently the option to release with "debug information" and without the debugger is not available.
This option was added before the debugger was available.
The reasons for removing this option are:
- Now that we have a true debugger (since v1.50) it is much less needed anyway.
- Releasing an application with debug information means that you are actually releasing your complete source code. I encountered several cases where developers were not aware to this pitfall.

Note that even without debug information, when an exception is thrown you do get the current sub name and with the stack trace it is usually pretty simple to find the exact line.

With that said it may be returned in a future version.
 
Upvote 0

Highwinder

Active Member
Licensed User
Longtime User
Currently the option to release with "debug information" and without the debugger is not available.
This option was added before the debugger was available.
The reasons for removing this option are:
- Now that we have a true debugger (since v1.50) it is much less needed anyway.
- Releasing an application with debug information means that you are actually releasing your complete source code. I encountered several cases where developers were not aware to this pitfall.

Note that even without debug information, when an exception is thrown you do get the current sub name and with the stack trace it is usually pretty simple to find the exact line.

With that said it may be returned in a future version.

I can understand the full debugger point, and even the source code point. Both are good points to make. But code obfuscation is not a debugging tool to me, it just makes the Java mess even harder to diagnose in the event of an exception. As such, as cool as obfuscation may be, I actually don't plan on using it. Maybe in the future, but not for now.

But I as the developer feel that I should be given the choice of how to I want to release my app/code, especially if we're discussing an option I once had but has been taken away. And since my subs can get pretty big, just knowing which sub an error is thrown from is of little help. It's just a release option I wish I had. As much as I really hate to say this because of how much I truly love this product, this really is enough of a current issue for me to have gone back to 1.7.

- Highwinder

PS: Keep up the fantastic work, this is a dynamite product. :-D
 
Last edited:
Upvote 0

JohnK

Active Member
Licensed User
Longtime User
Note that even without debug information, when an exception is thrown you do get the current sub name and with the stack trace it is usually pretty simple to find the exact line.

With that said it may be returned in a future version.
When I look at the source generated for projects in release mode, I note that there is the source within the code for what appears to be debugging help
B4X:
 //BA.debugLineNum = 14;BA.debugLine="Sub Activity_Create(FirstTime As Boolean)";
 //BA.debugLineNum = 15;BA.debugLine="Dim M As Map";
_m = new anywheresoftware.b4a.objects.collections.Map();
Is this suppose to be the case? Does this get compiled into the Java? or is the "//" commenting out the whole line, even past the ";"?

Does Java include comments in the compile?
 
Upvote 0

Alberto Iglesias

Well-Known Member
Licensed User
Longtime User
SONAR Identifying //BA.debugLineNum like ERROR

Hello Erel,

I have a team for looking for erros in JAVA and then use the SONAR TOOL. In this tool appears the lines with comments like ERROR, look my screenshot:

http://www.visualnet.inf.br/imagens/errosonar.jpg


Have any way to desactivate this option, to create lines with this prefix? //BA.debugLineNum

I know is not problem to compile, but to find erros in JAVA yes.

Thank You
 
Upvote 0
Top