Community
Participate
Working Groups
I'm debugging a Qt (version 3.3) application, and tried to view a QString variable. The QString class has a static field 'null', that also has type 'QString'. This makes Eclipse think there's infinite object tree, I see this tree: - 'xs' (my varible), - 'public' - 'null' - 'public' - 'null' - 'public' - 'null' and so on, infinitely. Having static members of the same type as the class there are in is not so rare practice, so maybe Eclipse can more reasonable handle this case?
So what's the problem? This presentation is based on the backend debugger, in this case it is gdb. That's the way gdb presents the instances of your class.
This is correct, technically speaking. However, for end user this behaviour is strange, and end user might not care about 'gdb' thing. Presumably, I can make changes on gdb side, but I'm not quite sure what changes will be most helpfull -- should gdb somehow indicate 'this is static field that is already' shown, or what?
(In reply to comment #2) > This is correct, technically speaking. However, for end user this behaviour is > strange, and end user might not care about 'gdb' thing. Presumably, I can make > changes on gdb side, but I'm not quite sure what changes will be most helpfull > -- should gdb somehow indicate 'this is static field that is already' shown, or > what? Do you know how it works with other mi based clients?
No. The only other MI client I know is KDevelop, and it has the same problem. I'd hope XCore to be better, but don't have access to it and it uses customized gdb anyway.
(In reply to comment #4) > No. The only other MI client I know is KDevelop, and it has the same problem. > I'd hope XCore to be better, but don't have access to it and it uses customized > gdb anyway. I don't know why gdb can't handle this situation internally. mi is not intended to be used by end users, so why list the static fields for each child. If there is a reason to do it I would rather prefer to have an option for var-list-children to turn on/off the static field display.
In fact, -var-list-children always shows static fields; that's something KDevelop users complained about too. Do you think you'd prefer "display static fields" to be specified for every -var-list-children command, or be a global MI setting?
(In reply to comment #6) > In fact, -var-list-children always shows static fields; that's something > KDevelop users complained about too. > Do you think you'd prefer "display static fields" to be specified for every > -var-list-children command, or be a global MI setting? I think we need both. We can turn the command option on for the top level variable and turn it off for its children. A global setting can be used as a default value for this option so it will not affect the existing mi based clients.