Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » U++ community news and announcements » U++ 2017 beta
Re: U++ 2017 beta [message #47330 is a reply to message #47327] Wed, 04 January 2017 15:38 Go to previous messageGo to previous message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
mirek wrote on Wed, 04 January 2017 15:49
cbpporter wrote on Wed, 04 January 2017 11:19

But I'll focus on strings first. Won't have probably time for anything more.

Here is a mockup of what I'm thinking:
index.php?t=getfile&id=5159&private=0



Trouble with that is that it requires "special treatment" for String - debugger needs to be aware that you are at String.

Frankly, the ideal solution would be calling 'AsString' for values somehow, but that aint so easy unfortunately...

Yeah, that's exactly what I'm doing. Added special logic based on type name. Small price to pay I think for the added benefits. And not just String. A few Core classes should be handled like this too, like Vector, which has abysmal debugging. This isn't 1995 anymore, we can't have it like it is. Plus, the debugger should be aware of a few more other things, like Moveable. Remove all unnecessary information.

Think of the most fancy and elegant scripting language possible. Something people love to use and once they start to use it, become extremely loyal to it, like Python or Ruby. Now imagine how streamlined and useful debugging can look in those (there is support for full time run-time reflection and eval). That's what I want in U++. A String shouldn't have len, ptr, s, wptr, w, q and what not. What are even those? I know what they are, but I don't want to. Nobody does! The debug output should be readable for a String by a baby.

We can't do stuff like in the scripting languages, but we can hard code the debugger to pretty print a couple of hand picked types if in debug mode and if they have the proper layout.

I tested a very early and hack version of this for U++ in 2009, but there was no interest for it. Now I must do it because I can't stand to debug another string where 1/3 of it is cut off so I can have a clear look at the blasted wptr value. Or to debug a vector where I can only look at the first element. Things like this worked in Delphi like 10 years ago. They work perfectly in C#.

I don't have C# installed right now on this computer, but here is a screenshot of a decent, not great debugger:
index.php?t=getfile&id=5160&private=0


The length of those fields in the window are enough to show most strings and there is no extra unneeded info.
  • Attachment: image001.gif
    (Size: 30.76KB, Downloaded 503 times)
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message icon14.gif
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: upp-10502-winxp32-compiled
Next Topic: On-line meeting before 2017 release
Goto Forum:
  


Current Time: Tue May 07 09:10:18 CEST 2024

Total time taken to generate the page: 0.02114 seconds