Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] Possible to use the qtc-debugging-helper (Either DSF/CDI)

I don't think your issue will be getting the value to display from qtc-debugging-helper but rather how to get the debugger to display it.  I don't think there's a generic pluggable variable formatter.  Right now it seems back-end specific with EDC having it's own, and GDB using pretty printers.  Given that you're using a build of GDB that doesn't support pretty printers, you'd have to hack something together somehow.

As I said, our team will add Qt support to the EDC formatter, so the only missing piece for you then would be the Mac TCF agent.  I'm not sure if anyone has considered writing such an agent yet or not, but this is probably the right forum to ask the question.  :)  I'm not a Mac guy so I can't say how much work that would be, but if the OS has any debug support (run control, memory/register access, breakpoints, etc), it shouldn't be too much effort.


>-----Original Message-----
>From: cdt-dev-bounces@xxxxxxxxxxx 
>[mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of ext Michael Jackson
>Sent: Friday, April 09, 2010 10:06 AM
>To: CDT General developers list.
>Subject: Re: [cdt-dev] Possible to use the 
>qtc-debugging-helper (Either DSF/CDI)
>Thanks for the info. At _some_ level it would seem to be 
>possible to add the functionality (even if it is a plugin of 
>some kind). It would seem that the qtc-debugging-helper 
>library sends back a response to a gdb request for the "value" 
>or maybe the QtCreator gdb wrapper figures out that the user 
>wants to look at a QString and then asks the library to dump 
>the values and such based on the pointer? Dunno. Can't really 
>follow along. I may inquire on the QtCreator Mailing list 
>garner some more info.
>Mike Jackson <>
>On Apr 9, 2010, at 10:36 AM, <Warren.Paul@xxxxxxxxx> wrote:
>> We've designed a powerful variable formatter in EDC which does the 
>> basics like being able to change the display in the details 
>pain, but 
>> also optionally allowing the children of the variable to be 
>changed as 
>> well.  It also will allow (not fully implemented yet) modifying the 
>> value in formatted form.  We will have support for Qt types in this 
>> solution (also not yet implemented).
>> Unfortunately I don't think this does much to help you out since EDC 
>> doesn't currently work on Mac, only Windows and Linux.  It would be 
>> great to have someone do a TCF debug agent on Mac though.  :)  Maybe 
>> you can focus your time on that and we'll provide the Qt formatting 
>> aspect?
>> I should mention that we really wanted to and tried to make this 
>> feature non-EDC specific, but there were some technically 
>reasons why 
>> it wouldn't work that I can't recall right now. :)  It may be that 
>> only some of it is EDC specific, I'm not sure.  David Dubrow might 
>> chime in if he's listening.
>> Thanks,
>> Warren
>>> -----Original Message-----
>>> From: cdt-dev-bounces@xxxxxxxxxxx
>>> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of ext 
>Michael Jackson
>>> Sent: Friday, April 09, 2010 9:20 AM
>>> To: CDT General developers list.
>>> Subject: Re: [cdt-dev] Possible to use the qtc-debugging-helper 
>>> (Either DSF/CDI)
>>> I forgot to mention that I am on "that troublesome platform, OS X"
>>> where the only GDB that seems to work is the one from Apple 
>which is 
>>> like version 6.3 or something like that so using the Python Pretty 
>>> Printers will not work for this particular platform.
>>> Now obviously since QtCreator does this sort of thing DSF 
>GDB should 
>>> be able to be made to do it also. I just have absolutely NO idea 
>>> where I would start looking. Even a hacked together proof 
>of concept 
>>> would motivate me to spend some late nights getting something 
>>> together.
>>> --
>>> Mike Jackson <>
>>> On Apr 9, 2010, at 10:13 AM, Elmenthaler, Jens wrote:
>>>> If you use gdb, you might want to check the python pretty printers 
>>>> being supported by gdb 7.0 and later.
>>>> It effectively means to translate your qtc-debugging-helper
>>> library to
>>>> python pretty printers, but this might be valuable anyway.
>>>> Both gdb integrations (DSF GDB would require the upcoming CDT 7.0) 
>>>> have basic support for the pretty printers. Basic support 
>means the 
>>>> info provided by the pretty printers appears in the 
>details pane of 
>>>> variables and expressions view. But the children and
>>> variables are not
>>>> the ones provided by the pretty printers.
>>>> I'm working on fully enabling them in the variables and 
>>>> view (bug302121). That, however, will only work in DSF GDB.
>>>> Jens.
>>>>> -----Original Message-----
>>>>> From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev- 
>>>>> bounces@xxxxxxxxxxx] On Behalf Of Michael Jackson
>>>>> Sent: Freitag, 9. April 2010 16:04
>>>>> To: CDT General developers list.
>>>>> Subject: [cdt-dev] Possible to use the 
>qtc-debugging-helper (Either
>>>>> DSF/CDI)
>>>>>  I do a bunch of Qt programming and I prefer to use 
>Eclipse CDT to 
>>>>> do my programming. The major hurdle that I have currently
>>> is trying
>>>>> to
>>>>> debug Qt based code. Due to the design of the Qt classes when 
>>>>> trying to get the "value" of things like a QString gdb will just
>>> send back a
>>>>> pointer address that isn't really helpful. With Qt-Creator the 
>>>>> engineers at Nokia have implemented the qtc-debugging-helper 
>>>>> library which your project can link against.
>>>>>  What I was wondering would be what type of code updates to CDT 
>>>>> (Either in CDI or DSF) would have to go into place in oder to 
>>>>> effectively use the code contained in the qtc-debugging-helper 
>>>>> library? Looking through the qtc-debugging-helper library 
>it seems 
>>>>> there are "pretty-printers" for the Qt Classes which can then be 
>>>>> piped back to the IDE making the request to display more helpful 
>>>>> values of a class rather then the internal pointer.
>>>>>  I am motivated enough to start hacking in CDT to at least figure 
>>>>> out if this type of thing is even possible. Even better
>>> would be some
>>>>> help from Nokia to point me in the right direction ;-) ***
>>>>> Thanks
>>>>> ___________________________________________________________
>>>>> Mike Jackson            
>>>>> Principal Software Engineer       mike.jackson@xxxxxxxxxxxxxx
>>>>> BlueQuartz Software               Dayton, Ohio
>>>>> *** I know this is basically helping out a rival product
>>> (QtCreator
>>>>> vs
>>>>> Eclipse CDT) but I think would still be seen as a Win-Win for all 
>>>>> parties.
>>>>> _______________________________________________
>>>>> cdt-dev mailing list
>>>>> cdt-dev@xxxxxxxxxxx
>>>> _______________________________________________
>>>> cdt-dev mailing list
>>>> cdt-dev@xxxxxxxxxxx
>>> _______________________________________________
>>> cdt-dev mailing list
>>> cdt-dev@xxxxxxxxxxx
>>> _______________________________________________
>> cdt-dev mailing list
>> cdt-dev@xxxxxxxxxxx
>cdt-dev mailing list

Back to the top