<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>(#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx</link><description>In his most recent (as of this writing) blog entry Brad Abrams writes about an idea we've been kicking around and which I happen to like very much. I think though that adding a few more details is necessary to help get the best possible feedback. The</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#82236</link><pubDate>Tue, 02 Mar 2004 00:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:82236</guid><dc:creator>Dmitriy Zaslavskiy</dc:creator><description>Hey, As I said in Brads' blog. I am all for it.</description></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#82246</link><pubDate>Tue, 02 Mar 2004 00:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:82246</guid><dc:creator>Paul Tyng</dc:creator><description>This is a GREAT idea!  It makes so much more sense then having multiple different builds to send to a client especially when I'm trying to debug a problem over the phone or something.  Typically what I do is program something like this in so that its always present and once a flag in the config file is flipped on a verbose mode is turned on, but native support for this in the IL sounds like its the ideal solution.</description></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#82266</link><pubDate>Tue, 02 Mar 2004 01:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:82266</guid><dc:creator>Michael Giagnocavo</dc:creator><description>#ifdef in IL?  Absolutely awesome.  More power in IL and the runtime itself is great.</description></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#82269</link><pubDate>Tue, 02 Mar 2004 01:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:82269</guid><dc:creator>Keith Patrick</dc:creator><description>What kind of configuration are we talking about, exactly?  Is a dev machine slower in the sense that running the particular app in debug mode will be slower, are is it in the sense that a developer machine has the equivalent of a checked build installed?  If it's something that can easily be turned on/off, sure it's a great idea that I wish Java back when I was doing it and that I could really use right now in a C# app.  But the key thing for me is not to go back to the days where having a dev machine meant that that single function crippled the machine in performing other daily tasks (read: playing games)</description></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#82317</link><pubDate>Tue, 02 Mar 2004 02:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:82317</guid><dc:creator>Michael Ruck</dc:creator><description>I think this solution would solve many problems faced during deployment today. Additionally I think any potential solution to reduce the working set for a .NET process (or to keep it low) should be taken. People still tend to think in the size of a working set, when they speak about the quality of an application.</description></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#82345</link><pubDate>Tue, 02 Mar 2004 04:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:82345</guid><dc:creator>Shane King</dc:creator><description>&amp;quot;advanced versions of the CLR could someday recompile methods on the fly (!) by administrative order, injecting the debug or logging blocks as directed into running processes (how much would you pay for that!)&amp;quot;&lt;br&gt;&lt;br&gt;I wouldn't pay anything, because it's already possible to do this today, using the profiling API of the CLR.&lt;br&gt;&lt;br&gt;Should I insert some pithy slogan about the future is now? ;)&lt;br&gt;</description></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#82346</link><pubDate>Tue, 02 Mar 2004 04:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:82346</guid><dc:creator>Rico Mariani</dc:creator><description>LOL thanks Shane :)</description></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#82379</link><pubDate>Tue, 02 Mar 2004 05:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:82379</guid><dc:creator>Jerry Pisk</dc:creator><description>If implemented would it mean that developers would run a debug version of Visual Studio, the framework and anything else in managed code along with debug versions of their code?&lt;br&gt;&lt;br&gt;Personally I don't see why the final code should contain any debugging code. Metadata such as method names are a different thing, that helps you to get things like stack traces in case of a crash but debugging statements? If you need those you should go back and fix the code before distributing it...</description></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#82381</link><pubDate>Tue, 02 Mar 2004 05:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:82381</guid><dc:creator>Michael Entin</dc:creator><description>That is very good. What everybody was afraid of after BradA's blog is two different versions of CLR, so that one would have to uninstall regular CLR/install debug version to get debugging features.&lt;br&gt;&lt;br&gt;One CLR version with developer checks turned on by config is great!&lt;br&gt;&lt;br&gt;However, it is unclear how this is different from customer debug probes currently available in Whidbey, could you elaborate?</description></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#82404</link><pubDate>Tue, 02 Mar 2004 07:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:82404</guid><dc:creator>Bill Wert</dc:creator><description>Jerry:&lt;br&gt;It's easy to envision some trival uses of this kind of thing.  You call Foo.Bar(Object o).  It returns a BadArgumentException and that's it.  You turn on the debugging information, and now you're getting a log file showing what it's parsing.  This is a contrived example, and probably nothing like what they'd really implement, but you can see where this could potentially go.  It's not just debugging information for the CLR itself - it's debugging information for the CLR's customer - you.&lt;br&gt;&lt;br&gt;-Bill Wert</description></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#82605</link><pubDate>Tue, 02 Mar 2004 16:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:82605</guid><dc:creator>Gareth Rowlands</dc:creator><description>It's good, Rico. I want it.</description></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#83291</link><pubDate>Wed, 03 Mar 2004 19:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:83291</guid><dc:creator>Dave</dc:creator><description>Would there need to be some sort of security permission on this feature to keep rouge end-users from flipping the debug switch?  Is there any concern about how this feature impacts the already easy reverse-engineering scene? I'm curious.</description></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#83411</link><pubDate>Wed, 03 Mar 2004 23:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:83411</guid><dc:creator>Eric</dc:creator><description>There is still the potential of bloating the IL code, which implies a bit more of a loader/JIT penalty, but in the steady-state I can see why you say it will reduce working set.&lt;br&gt;&lt;br&gt;In any case, it's way better than separate debug/retail.  The real question is how powerful do the IL ifdefs get? The static analysis won't necessarily be easy, either.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Debug and Retail Builds</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#83700</link><pubDate>Thu, 04 Mar 2004 13:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:83700</guid><dc:creator>Brad Abrams </dc:creator><description /></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#85013</link><pubDate>Sat, 06 Mar 2004 07:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:85013</guid><dc:creator>Jerry</dc:creator><description> With all due respect, nice new toy to play with as a developer. Will it really help Mom see a speed difference? Will it help you ship the product sooner, and avoid introducing new bugs (bound to be)?  Consider it for a future release, but is it worth spending the time on this now? What's the measurable impact here?&lt;br&gt;&lt;br&gt;Anyway, not to be a killjoy, I love the idea as a developer. But there are tons more things I want out of Whidbey and I'm not sure this is that major.</description></item><item><title>re: (#ifdef DEBUG)++</title><link>http://blogs.msdn.com/ricom/archive/2004/03/01/82195.aspx#113710</link><pubDate>Thu, 15 Apr 2004 11:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:113710</guid><dc:creator>Barry Price</dc:creator><description>#ifdef DEBUG has two States - On and Off. If we have another variable eg ERROR defined in the assembly, we would have 4 States etc.&lt;br&gt;&lt;br&gt;For each State there is a potential to have different compiled IL assemblies and therefore we must associate the State (eg DEBUG On, ERROR Off) with the compiled IL assembly (potential total of 4). &lt;br&gt;&lt;br&gt;There also has to be a method to change the State by the system and by the user.&lt;br&gt;&lt;br&gt;Now! Each time we call a routine in a different assembly (eg program calling framework), we will have to check the current States and call the appropriate routine. This check must also go in Mom's PC as well as the developers. (I have seen an implementation that does not make this runtime check - DO NOT go there.)&lt;br&gt;&lt;br&gt;You can vary the answers to &amp;quot;Where to check for change of State?&amp;quot; and &amp;quot;When can the State change be applied?&amp;quot; but they all impact Mom's PC or the value of doing the change.&lt;br&gt;&lt;br&gt;Barry&lt;br&gt;</description></item></channel></rss>