On 19.07.2012 19:53, Andreas Kling wrote:
On Tue, Jul 10, 2012 at 4:52 PM, Brady Eidson <beid...@apple.com
<mailto:beid...@apple.com>> wrote:
On Jul 10, 2012, at 5:25 AM, Alexis Menard
<alexis.men...@openbossa.org <mailto:alexis.men...@openbossa.org>>
wrote:
> On Mon, Jul 9, 2012 at 6:53 PM, Brady Eidson <beid...@apple.com
<mailto:beid...@apple.com>> wrote:
>>
>> On Jul 9, 2012, at 2:43 PM, Alexis Menard
<alexis.men...@openbossa.org <mailto:alexis.men...@openbossa.org>>
wrote:
>>
>>> Hi,
>>>
>>> For those who "secretly" use printf debugging :). I know the
>>> recommended way is to use a debugger and it's not the point of
this
>>> discussion.
>>
>> A lot of us do this, and sometimes it's necessary. I agree
with the gripe and support adding something easier.
>>
>>> So I propose wtf() and its stream operator.
>>>
>>> Usage :
>>>
>>> wtf()<<"Hello"<<"World"<<3<<4.53322323; will output : Hello
World 3 4.53322
>>
>> There is no reason to bring in stream operators - that are
willfully absent from WebCore - just for debugging.
>>
>
> But it's really nice for that purpose, and somehow match std::cout
And we quite purposefully don't use std::cout in the project.
>> Overloading functions works just as well.
>
> I'm not sure to understand what you mean here...
I mean relying on C++'s overloading of functions for the different
types you'd like to printf debug.
void debug(WebCore::String&);
void debug(WebCore::Frame*);
void debug(WebCore::Node*);
etc etc etc.
debug(someFrame);
debug(someNode);
debug(someString);
Especially that last one would help me from remembering how to
type "printf("%s", someString.utf8().data())" which is all I've
ever really wanted.
Hello fellow printfers!
While I'm just as ashamed of my printf habits as the next guy, I think
it'd be great if we could move forward with this somehow.
Coming from a background in Qt, the stream operator syntax looks
perfectly normal to me, perhaps you could expand on why we want to
avoid using these in WebKit. Is there a technical reason, or is it
more of a language purity issue?
Regardless, adding a consistent set of debug(WebCore::MyCoolOverload)
methods as suggested would still be massively useful.
-Kling
Hi,
I am probably one of those people who much dislike printf-debugging.
What is your problem with using a debugger?
Maybe because the displayed information is not appropriate?
E.g., you would like
someString.utf8().data()
instead of
someString
FWIW, there is a gdb python API for changing the behavior... so called
pretty printers.
It is not too difficult to write such pretty-printers.
Maybe providing a set of useful pretty-printers is a better approach
than providing a set of debug functions?
Regards,
Oliver
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev