Re: NSLog() replacement for debugger output
Re: NSLog() replacement for debugger output
- Subject: Re: NSLog() replacement for debugger output
- From: Ken Thomases <email@hidden>
- Date: Thu, 24 Apr 2008 17:29:16 -0500
There should be two hash characters ("##") before the __VA_ARGS__.
That's a gcc feature such that, if the macro is used without passing
arguments beyond the format string, then the comma is removed from
the expansion.
-Ken
On Apr 24, 2008, at 5:20 PM, Mohsan Khan wrote:
Sorry, I was a little bit to quick there...
I get an error
169: DBOut( @"Hello World!" );
/AppController.m:169: error: syntax error before ']' token
Did I miss something?
On to 24 apr 2008, at 23.24, Mohsan Khan wrote:
Ohh this is so good, I'm happy!!!
Thanks!
On to 24 apr 2008, at 21.53, Don Arnel wrote:
I thought I'd share this with those of you who want an
alternative to NSLog(). If you want your debugging output to
always go to the debugger console without all the date and time
stamping info, just place this bit of code in your
<AppName>_Prefix.pch file. Then define the __DEBUG_OUT__
preprocessor macro in your Project Settings for Debug builds.
Once you have done this, debug output only occurs for debug
builds. For release builds, it's as if the debug output code
never existed.
Usage:
For NSString-style output use DBOut() the same way you would use
NSLog().
For char *string output use DBCOut()
Enjoy!
- Don
#ifdef __DEBUG_OUT__
#define DBOut(fmt, ...) fprintf(stderr, "%s\n", [[NSString
stringWithFormat:(fmt), __VA_ARGS__]
cStringUsingEncoding:NSUTF8StringEncoding])
#define DBCOut(fmt, ...) fprintf(stderr, fmt, __VA_ARGS__)
#else
#define DBOut(fmt, ...)
#define DBCOut(fmt, ...)
#endif
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
40bredband.net
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
40bredband.net
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden