<?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>How can I debug Just My Code?</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx</link><description>Sometimes developers want to debug just the code they wrote and not the 3 rd -party code (such as framework and libraries) that’s also inside their app. This becomes particularly useful when user and non-user code call back and forth between each other.</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: How can I debug Just My Code?</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#344889</link><pubDate>Fri, 31 Dec 2004 21:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:344889</guid><dc:creator>Daniel Moth</dc:creator><description>I haven't played with this feature yet but the obvious question is: What are the full differences between the DebuggerStepThroughAttribute and the DebuggerNonUserCode? It appears that one works at the source level while the other goes deeper, the latter should be faster than the former and that the new attribute can be turned on with a simple setting in the IDE whereas the old one has to be manually commented out. Are these statements correct and/or what other differences from a usage perspective are there?</description></item><item><title>re: How can I debug Just My Code?</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#345383</link><pubDate>Sun, 02 Jan 2005 09:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:345383</guid><dc:creator>Mike Stall</dc:creator><description>Daniel - &lt;br&gt;To be clear: The CLR ignores both attributes. They're defined in mscorlib.dll so that they're available for use by debugger applications (like VS). &lt;br&gt;&lt;br&gt;The semantics are very similar in both(annotating &amp;quot;non-user&amp;quot; code). Hopefully we will document the semantics very clear in MSDN when we ship v2.0.&lt;br&gt;&lt;br&gt;Thus the real difference between these attributes is entirely what a debugger does with them. In Visual Studios's case:&lt;br&gt;- DebuggerStepThroughAttribute is from v1.1. VS uses traditional step operations (pre-JMC_ to skip non-user code there.&lt;br&gt;- DebuggerNonUserCode is in v2.0 and VS uses this explicitly for the new JMC functionality above.&lt;br&gt;&lt;br&gt;So maybe your question boils down to comparing (1) faking JMC with traditional step operations to (2) real JMC?&lt;br&gt;&lt;br&gt;- Real JMC is much faster and can handle arbitrarily complex scenarios. &lt;br&gt;- Re: turning on + off: This is entirely a feature within VS. A debugger could just as easily have added a checkbox to ignore the DebuggerStepThroughAttribute . Or it could have just as easily removed the &amp;quot;Enable JMC&amp;quot; checkbox and thus forced you to comment out the DebuggerNonUserCode attribute.&lt;br&gt;</description></item><item><title>re: How can I debug Just My Code?</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#345449</link><pubDate>Sun, 02 Jan 2005 18:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:345449</guid><dc:creator>Daniel Moth</dc:creator><description>Thank you, that helps. I don't see why DebuggerStepThrough does not go through the obsolescence path then, but that is an academic discussion I guess...</description></item><item><title>Func-eval is evil</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#400799</link><pubDate>Wed, 23 Mar 2005 07:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:400799</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description /></item><item><title>#line hidden and 0xFeeFee sequence points</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#430625</link><pubDate>Mon, 20 Jun 2005 00:06:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:430625</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>Sometimes you may have functions that you don’t want a debugger to step into (such as 3rd-party library...</description></item><item><title>Debug support for arbitrary state-machines</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#443717</link><pubDate>Wed, 27 Jul 2005 07:36:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:443717</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>I mentioned here&amp;amp;amp;nbsp; that if your language compiles to IL, then you get free debugging support with...</description></item><item><title>Debug support for arbitrary state-machines</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#443940</link><pubDate>Wed, 27 Jul 2005 22:29:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:443940</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>I mentioned here&amp;amp;amp;nbsp; that if your language compiles to IL, then you get free debugging support with...</description></item><item><title>Debug support for arbitrary state-machines</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#444454</link><pubDate>Thu, 28 Jul 2005 19:02:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:444454</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>I mentioned here&amp;amp;amp;nbsp; that if your language compiles to IL, then you get free debugging support with...</description></item><item><title>#line hidden and 0xFeeFee sequence points</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#454749</link><pubDate>Mon, 22 Aug 2005 23:54:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:454749</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>Sometimes you may have functions that you don’t want a debugger to step into (such as 3rd-party library...</description></item><item><title>ICorDebugStepper and using ICorDebugStepper2::SetJMC</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#455309</link><pubDate>Wed, 24 Aug 2005 00:30:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:455309</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>We added Just-My-Code (JMC) stepping (the ability to step through just your code and skip code that's...</description></item><item><title>Single-Stepping Into 'internalcall' CLR Methods</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#467859</link><pubDate>Thu, 15 Sep 2005 23:00:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:467859</guid><dc:creator>Stale DNA</dc:creator><description>Now I am intrigued... My previous post talked about the 'Just My Code'&lt;br&gt;option in Whidbey and how you...</description></item><item><title>Single-Stepping Into 'internalcall' CLR Methods</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#467865</link><pubDate>Thu, 15 Sep 2005 23:08:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:467865</guid><dc:creator>Stale DNA</dc:creator><description>Now I am intrigued... My previous post talked about the 'Just My Code'&lt;br&gt;option in Whidbey and how you...</description></item><item><title>Single-Stepping Into 'internalcall' CLR Methods</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#467866</link><pubDate>Thu, 15 Sep 2005 23:10:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:467866</guid><dc:creator>Stale DNA</dc:creator><description>Now I am intrigued... My previous post talked about the 'Just My Code'&lt;br&gt;option in Whidbey and how you...</description></item><item><title>Single-Stepping Into 'internalcall' CLR Methods</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#467870</link><pubDate>Thu, 15 Sep 2005 23:12:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:467870</guid><dc:creator>Stale DNA</dc:creator><description>Now I am intrigued... My previous post talked about the 'Just My Code'&lt;br&gt;option in Whidbey and how you...</description></item><item><title>Single-Stepping Into 'internalcall' CLR Methods</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#469166</link><pubDate>Fri, 16 Sep 2005 22:01:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:469166</guid><dc:creator>Stale DNA</dc:creator><description>Now I am intrigued... My previous post talked about the 'Just My Code'&lt;br&gt;option in Whidbey and how you...</description></item><item><title>Going from IL to Source</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#471283</link><pubDate>Mon, 19 Sep 2005 18:17:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:471283</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>Question from the mail bag:&lt;br&gt;&lt;br&gt;I am trying to get some information on what I can do usefully with the...</description></item><item><title>What I'm reading now (Practical .NET2 and C#2)</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#551207</link><pubDate>Tue, 14 Mar 2006 18:10:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:551207</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>I've been reading through &amp;amp;quot;Practical .NET2 and C#2&amp;amp;quot; (by Patrick Smacchia). I finished my previous book...</description></item><item><title>Debugging From an ASP.NET Web Form to a Web Service using Typed DataSets</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#563288</link><pubDate>Tue, 28 Mar 2006 21:24:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:563288</guid><dc:creator>Technical Weblog of Eric Charran</dc:creator><description>When attempting to step into a web service when a Typed DataSet is passed as a parameter to the web method...</description></item><item><title>#line hidden vs. DebuggerNonUserCode attribute </title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#663838</link><pubDate>Thu, 13 Jul 2006 02:05:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:663838</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>I got this great question from the mailbag:&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp; &amp;amp;quot;[W]hat is the relation between the &amp;amp;quot;#...</description></item><item><title>Mike Stall's .NET Debugging Blog : What's new in v2.0 CLR Debugging (ICorDebug)?</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#664609</link><pubDate>Thu, 13 Jul 2006 19:17:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:664609</guid><dc:creator>Mike Stall's .NET Debugging Blog : What's new in v2.0 CLR Debugging (ICorDebug)?</dc:creator><description>PingBack from &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/jmstall/archive/2005/01/04/346641.aspx"&gt;http://blogs.msdn.com/jmstall/archive/2005/01/04/346641.aspx&lt;/a&gt;</description></item><item><title>Single-Stepping Into 'internalcall' CLR Methods</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#701922</link><pubDate>Wed, 16 Aug 2006 05:15:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:701922</guid><dc:creator>Stale DNA - all things Cappy Popp</dc:creator><description>Now I am intrigued... My previous post talked about the &amp;amp;amp;#39;Just My Code&amp;amp;amp;#39; option in Whidbey and</description></item><item><title>Debug With Reflector</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#979655</link><pubDate>Sun, 05 Nov 2006 22:16:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:979655</guid><dc:creator>TestDriven.NET by Jamie Cansdale</dc:creator><description>&lt;p&gt;Below is a screencast that shows how to debug an application using the new 'Go To Reflector' functionality&lt;/p&gt;
</description></item><item><title>Making Catch, Rethrow more debuggable.</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#1662792</link><pubDate>Mon, 12 Feb 2007 21:01:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1662792</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>&lt;p&gt;I previously mentioned that catch / rethrow an exception impedes debuggability because the callstack&lt;/p&gt;
</description></item><item><title>Debugger talk at Compiler Lab</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#2861963</link><pubDate>Fri, 25 May 2007 08:58:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2861963</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>&lt;p&gt;The CLR team recently had a compiler dev Lab on campus in building 20, with a strong focus on dynamic&lt;/p&gt;
</description></item><item><title>Switching to [DebuggerNonUserCode]</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#4726313</link><pubDate>Mon, 03 Sep 2007 20:37:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4726313</guid><dc:creator>Mark Mullin's Professional Blog</dc:creator><description>&lt;p&gt;I&amp;amp;rsquo;m starting the switch to using the [DebugNonUserCode] attribute instead of [DebuggerStepThrough]...&lt;/p&gt;
</description></item><item><title>MSDN Blog Postings  &amp;raquo; Debuggability tops MSBuild feature poll</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#6648740</link><pubDate>Tue, 04 Dec 2007 06:27:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6648740</guid><dc:creator>MSDN Blog Postings  » Debuggability tops MSBuild feature poll</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://msdnrss.thecoderblogs.com/2007/12/03/debuggability-tops-msbuild-feature-poll/"&gt;http://msdnrss.thecoderblogs.com/2007/12/03/debuggability-tops-msbuild-feature-poll/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Debugging IronPython with my Excalibur</title><link>http://blogs.msdn.com/jmstall/archive/2004/12/31/344832.aspx#9545096</link><pubDate>Sat, 11 Apr 2009 12:32:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9545096</guid><dc:creator>#.think.in</dc:creator><description>&lt;p&gt;Debugging IronPython with my Excalibur&lt;/p&gt;
</description></item></channel></rss>