Page 1 of 1

Purpose of "Ascii Viewer" in debugger etc...

Posted: Fri Sep 11, 2009 11:54 am
by marfi
Hi Eran,
I've tested your new "Ascii Viewer" for debugger today. It is nice new feature but In my opinion you've "re-invented a wheel" little bit because all its functionality is already provided by "Watches" tab and debugger's tooltip. But, what I really miss in CL's debugger frontend is easy and elegant way of dereferencing of debugged symbols/objects and browsing of their members. I suppose you know this feature from VS: if you hover mouse over debugged symbol/object then a tree-based control showing all object's members is displayed and you can simple browse through it and watch current values of all its members. I know that similar functionality is provided by Watches tab, but it is quite difficult and time consuming to display content of dereferenced object. More over, you cannot see content of string variables (wxString) in it. What I suggest is to create new tree-based control (you can use the same like for "Show Current File Outline" - CTRL+SHIT+O) displayed on mouse hover which would allow user to display and browse whole content of dereferenced debugged object (also content of string variables should be visible here - not just memory address of string variable). So, what do you thing about it?

Best regards
Michal

Re: Purpose of "Ascii Viewer" in debugger etc...

Posted: Fri Sep 11, 2009 4:20 pm
by eranif
marfi wrote:t is nice new feature but In my opinion you've "re-invented a wheel" little bit because all its functionality is already provided by "Watches" tab and debugger's tooltip
Not really.
The tooltip is close to useless when you need to display a long strings. Same goes for the Wtaches, since the default control (wxListCtrl) does not allow you to disaply large strings (it will cut it after certains amount of characters - and on Windows it can not be changed)

In addition, the watches requires you to right click an item and add it - this is not the case for the ascii viewer - it works the same as tooltip, but unlike the tooltip, it is not limited by string length, also you can copy/paste from it and it presist until new variable is hovered. The need for such tab raised by a user who was having a difficulty in watching a very large strings while debugging (content of web pages). The tooltips are still there, but they are disabled by default, u can enable them from settings -> debugger settings
marfi wrote:More over, you cannot see content of string variables (wxString) in it
Which version of WX are you using? it displays perfectly in 2.8.10, probably WX changed the internal so the 'pre-defined' type for wxString (from settings -> debugger settings -> Predefined types' is no long valid. Non the less this is a gdb limitation and not codelite.

Eran

Re: Purpose of "Ascii Viewer" in debugger etc...

Posted: Fri Sep 11, 2009 6:56 pm
by marfi
Which version of WX are you using? it displays perfectly in 2.8.10, probably WX changed the internal so the 'pre-defined' type for wxString (from settings -> debugger settings -> Predefined types' is no long valid. Non the less this is a gdb limitation and not codelite.
Content of single string variables is displayed correctly. I meant class data members (even for base classes) displayed in "Quick watch" window with tree control which can be shown on double-click onto dereferenced object in Watches tab. There are just memory addresses, not string content (but it is probably GDB "feature").

Michal

Re: Purpose of "Ascii Viewer" in debugger etc...

Posted: Fri Sep 11, 2009 7:09 pm
by eranif
marfi wrote:There are just memory addresses, not string content (but it is probably GDB "feature").
if codelite cant display it, most chances are that gdb cant display them properly as well.

Dont compare gdb & VC debugger - they are not on the same league

Eran

Re: Purpose of "Ascii Viewer" in debugger etc...

Posted: Fri Sep 11, 2009 10:12 pm
by marfi
Dont compare gdb & VC debugger - they are not on the same league
I know. And it is the only thing I miss in Linux :( Well, maybe someday...