<?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>Func-eval is evil</title><link>http://blogs.msdn.com/jmstall/archive/2005/03/23/400794.aspx</link><description>Function evaluation (aka “Func-eval”, “property evaluation”, “prop eval”) is the ability for a debugger to have the debuggee call a random function when stopped at a breakpoint. For eg, this lets you call functions from VS’s immediate window. Func-eval</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Func-eval is evil</title><link>http://blogs.msdn.com/jmstall/archive/2005/03/23/400794.aspx#400813</link><pubDate>Wed, 23 Mar 2005 08:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:400813</guid><dc:creator>Junfeng Zhang</dc:creator><description>Windbg added func-eval in 6.4. That means something. &lt;br&gt;&lt;br&gt;Just don't turn it on by default.</description></item><item><title>re: Func-eval is evil</title><link>http://blogs.msdn.com/jmstall/archive/2005/03/23/400794.aspx#400829</link><pubDate>Wed, 23 Mar 2005 09:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:400829</guid><dc:creator>Mike Stall</dc:creator><description>Junfeng - true, though it's interesting to drill into that further.&lt;br&gt;&lt;br&gt;Windbg's funceval is for native code only, not managed. Visual Studio has also had func-eval for native-code since at least V6.0 (don't know exactly when it first appeared).&lt;br&gt;&lt;br&gt;Both those cases of func-eval must be explicitly invoked by the user (contrast to VS's auto evaluation of managed property-getters  and ToString() calls). That mitigates issues 2,3,4.&lt;br&gt;Windbg also mitigates issue #1 by giving the end-user full control over the funceval. &lt;br&gt;</description></item><item><title>re: Func-eval is evil</title><link>http://blogs.msdn.com/jmstall/archive/2005/03/23/400794.aspx#400951</link><pubDate>Wed, 23 Mar 2005 17:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:400951</guid><dc:creator>Mark Mullin</dc:creator><description>Yeah, the whole things been a pet peeve of mine too.  I have some classes that have exceptionally complex properties and I want them to stay properties -  that said, if I've got some problem in spinning up the class, I can run smack into this&lt;br&gt;&lt;br&gt;I know about the ui setting to suppress this, what I'd love, at least in managed C#, is an attribute I can attach to individual properties to suppress evaluation = far better than the all or nothing option I have at present.&lt;br&gt;</description></item><item><title>re: Func-eval is evil</title><link>http://blogs.msdn.com/jmstall/archive/2005/03/23/400794.aspx#400979</link><pubDate>Wed, 23 Mar 2005 18:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:400979</guid><dc:creator>Mike Stall</dc:creator><description>Mark - I think VS actually has a ton of attributes that you can place on properties and classes to give VS better hints as to how to display them and what to avoid func-evalling on. Andy P. mentioned one that may do exactly what you want: &lt;br&gt;DebuggerBrowsable.Never &lt;br&gt;&lt;br&gt;I'll see if I can dig up more about this.</description></item><item><title>.NET property evaluation while debugging is BAD, BAD, BAD</title><link>http://blogs.msdn.com/jmstall/archive/2005/03/23/400794.aspx#445965</link><pubDate>Mon, 01 Aug 2005 14:34:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445965</guid><dc:creator>Bring It On</dc:creator><description /></item><item><title>.NET property evaluation while debugging is BAD, BAD, BAD</title><link>http://blogs.msdn.com/jmstall/archive/2005/03/23/400794.aspx#445966</link><pubDate>Mon, 01 Aug 2005 14:35:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445966</guid><dc:creator>Bring It On</dc:creator><description /></item><item><title>.NET property evaluation while debugging is BAD, BAD, BAD</title><link>http://blogs.msdn.com/jmstall/archive/2005/03/23/400794.aspx#445968</link><pubDate>Mon, 01 Aug 2005 14:41:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445968</guid><dc:creator>Bring It On</dc:creator><description /></item><item><title>Example of Goofy bugs</title><link>http://blogs.msdn.com/jmstall/archive/2005/03/23/400794.aspx#460286</link><pubDate>Sat, 03 Sep 2005 02:01:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:460286</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>Here's an sampling of various goofy bugs we've had to deal with in the CLR Debugging services over the...</description></item><item><title>Out-of-band events and Mixed-mode debugging</title><link>http://blogs.msdn.com/jmstall/archive/2005/03/23/400794.aspx#464770</link><pubDate>Tue, 13 Sep 2005 18:10:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:464770</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>Interop-debugging splits all debug events into &amp;amp;quot;In-band (IB) &amp;amp;quot; and &amp;amp;quot;Out-of-band (OOB)&amp;amp;quot;. Inband events...</description></item><item><title>Blog Category for Func-eval</title><link>http://blogs.msdn.com/jmstall/archive/2005/03/23/400794.aspx#544042</link><pubDate>Sun, 05 Mar 2006 20:49:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:544042</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>I created a blog category for Func-eval&amp;amp;amp;nbsp;(aka Property Evaluation), and I updated some of my old...</description></item><item><title>Eli Lopian&amp;#8217;s Blog (TypeMock)  &amp;raquo; Blog Archive   &amp;raquo; How to Debug with TypeMock.NET without losing your head</title><link>http://blogs.msdn.com/jmstall/archive/2005/03/23/400794.aspx#816343</link><pubDate>Wed, 11 Oct 2006 10:33:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:816343</guid><dc:creator>Eli Lopian’s Blog (TypeMock)  » Blog Archive   » How to Debug with TypeMock.NET without losing your head</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.elilopian.com/2006/10/08/how-to-debug-with-typemocknet-without-losing-your-head/"&gt;http://www.elilopian.com/2006/10/08/how-to-debug-with-typemocknet-without-losing-your-head/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Func-eval abort is evil</title><link>http://blogs.msdn.com/jmstall/archive/2005/03/23/400794.aspx#1876799</link><pubDate>Wed, 14 Mar 2007 03:38:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1876799</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>&lt;p&gt;Func-eval is evil . Func-eval abort is even worse. For those coming in late, Func-eval is when the debugger&lt;/p&gt;
</description></item></channel></rss>