PDA

View Full Version : thinDebug: UDT data inspection



ErosOlmi
18-04-2009, 19:58
I'm working to add UDT data inspection in thinDubug.

So far I was able to reproduce any kind of UDT structure inside the debugger. Even very complex structures will be catch.
I'm currently working on retrieving data values.

I've choosed a TreeView as a convenient way to to show such structures. See below image:
http://community.thinbasic.com/temp/thinTrace_UDT_DataInspection.jpg


The best would be a combination of a TreeView with a ListView like the following but honestly I do not know how to create such a control
http://www.jools.net/wp-content/uploads/2006/10/todo.jpg

Michael Hartlef
18-04-2009, 20:05
Great outlook of the debugger enhancement. I think it is not just one control on the sample you posted. It just looks like one.

kryton9
18-04-2009, 20:35
Looks really nice Eros. Just to be able to inspect a UDT is such a cool thing for debugging, the tree view looks fine to me.
The other screen I am sure offers many more features, but it looks so complicated in the screenshot, your screen
is less intimidating, thus can focus on the problem at hand :)

ErosOlmi
18-04-2009, 20:40
Yes the other picture show a complex screen but what I meant was that the central part is a control able to have a TreeView expandable area (right part) connected with a kind of ListView (one the left side). This allow to have grid data expanded by the tree levels.

It is a very nice control.

Maybe ... one day ... when time will permit ... I will try to develop something similar.

Ciao
Eros

Petr Schreiber
18-04-2009, 20:42
Hi Eros,

this looks very good!

One little suggestion - would it be possible to insert "Variable Value" column after "Variable name" in the listview and then the rest?
It would allow easier observation of variable name-value relationship.


Thanks

ErosOlmi
18-04-2009, 20:43
Good one.
Yes sure.

ErosOlmi
19-04-2009, 00:45
A little evolution in UDT structure inspection:

http://community.thinbasic.com/temp/thinTrace_UDT_DataInspection_2.jpg

I'm very close to start to inspect also UDT data.

Michael Clease
19-04-2009, 00:56
Looks really good Cant wait to try it.

Can I make a suggestion that rather than having the same icon for all number you have icons with the letters on and that would mean you dont have to report the type at the end of line.
[B]
[I]
[W]
[D]
[L]
[Q]
[SP]
[DP]
[E]
[C]

ErosOlmi
19-04-2009, 00:57
Good one.
I will change it. I already have icons for letters.

Petr Schreiber
19-04-2009, 08:41
:eusaclap:

ErosOlmi
19-04-2009, 09:48
And here it is.

Integer class numbers are identified by the first letter in blue color: Byte, Integer, Word, DWord, Long, Quad
Floating point class numbers are identified by the first letter in orange color: Single, Double, Currency, Extended

I'm still try to find nice bitmaps for Strings class: fixed string, fixed ascii, dynamic

Ciao
Eros

Petr Schreiber
19-04-2009, 10:38
Hi Eros,

that looks good.

Here is my concept for strings:
Magenta color - because strings in quotes are marked with magenta by default in ThinAir.
Those two with orange borders mean fixed size - stripes visually represent restriction.

ErosOlmi
20-04-2009, 07:49
Situation:

Added icons for strings (more or less I've followed Petr suggestion.
Added capability to understand arrays of UDT, arrays of elements, arrays of sub UDT. I've done that using sub trees. As far as I can see this is the only way so far.
Started to add capability to behave both on UDT and UNIONs.
Added data inspection for the moment only for numeric elements. Other kind of data should come easily.


So, seems starting to be quite usable even to be used for complex structures.
Very soon a release.

GSAC3
20-04-2009, 17:30
Eros:

This looks really great!

Don

Petr Schreiber
20-04-2009, 22:34
Eros,

this is looking fantastic!

One suggestion on displaying array members, maybe instead of:

<arrayName>: element <index>/<ubound> = value

I would prefer classic:

<arrayName>(<index>) = value

Number of array elements is displayed in the root of array anyway, so I think more ThinBASICish listing would be perfectly enough.

Regarding numeric datatypes, there is one odd thing - SINGLE has too many decimals.
When I use:


uses "Console"
dim v as single

v = 1/3

printl v
waitkey

... I can see correctly 6 digits.

Thank you,
Petr

kryton9
20-04-2009, 23:28
It's looking really nice Eros.

Would it be easy to make an option to toggle icons and off?

Michael Hartlef
24-04-2009, 16:13
Great job Eros. I would like to have the icons optional too.

ErosOlmi
24-04-2009, 16:30
Do you mean just TreeView without any icon?