<?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>Implications of using a helper thread for debugging</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx</link><description>What it means? I mentioned in a previous post ( http://blogs.msdn.com/jmstall/archive/2004/10/10/240452.aspx ) that the CLR debugging services is an “in-process model” which means it has a helper thread running in the same process as the EE which provides</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Implications of using a helper thread for debugging</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#244040</link><pubDate>Mon, 18 Oct 2004 21:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:244040</guid><dc:creator>Dmitriy Zaslavskiy</dc:creator><description>Are there any changes planned in this regard.&lt;br&gt;In Longhorn or even before where most (for different values of the work most) processes will be managed an extra thread per processes will add up?</description></item><item><title>re: Implications of using a helper thread for debugging</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#244081</link><pubDate>Mon, 18 Oct 2004 22:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:244081</guid><dc:creator>Mike Stall</dc:creator><description>Definitely an issue. Now I know 2 wrongs don't make a right, but fwiw, Managed apps already spin up extra threads. For eg, Every app has a finalizer thread too. And certain interesting activities will also create extra threads under the covers. &lt;br&gt;&lt;br&gt;For the debugger's thread: The challenge is to delay-create the helper thread without breaking the attach scenario. &lt;br&gt;We'd like to use something like kernel32!CreateRemoteThread, but that doesn't always work (such as creating across sessions).&lt;br&gt;&lt;br&gt;Unfortunately, I can't yet make any official comment of what it will be when we ship v2.0.</description></item><item><title>re: Implications of using a helper thread for debugging</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#244558</link><pubDate>Tue, 19 Oct 2004 18:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:244558</guid><dc:creator>Dmitriy Zaslavskiy</dc:creator><description>&amp;gt;&amp;gt; Managed apps already spin up extra threads. &lt;br&gt;Sure, timers come to mind. But I would consider all or most of those uses in need of an optimization. For example Chris Brumme discussed the use of thread pool to schedule finalizers.&lt;br&gt;&lt;br&gt;What about a fault injection technique. So that external debugger does something similar to GC to find a safe point and inject an exception which when CLR would handle would start debugging thread.&lt;br&gt;&lt;br&gt;I do realize it's much easier to give a free advise than to implement ;)</description></item><item><title>All The News That Is Fit To Print (Oct 19, 2004)</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#244887</link><pubDate>Wed, 20 Oct 2004 05:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:244887</guid><dc:creator>OdeToCode Link Blog</dc:creator><description /></item><item><title>re: Implications of using a helper thread for debugging</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#245519</link><pubDate>Thu, 21 Oct 2004 08:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:245519</guid><dc:creator>Mike Stall</dc:creator><description>The dilemma is finding a technique that is *guaranteed* to work in all situations (even the goofy ones), else you'll hit cases where your app crashes and you can't attach to it.&lt;br&gt;&lt;br&gt;Your raise some interesting points.  &lt;br&gt;The fault injection requires that we be guaranteed to find a thread that we can hijack. This may not be a given if threads are all out in the system calls or if the thread has its own handlers in place that we can't intercept.&lt;br&gt;&lt;br&gt;There's also an issue of reliability. If our technique for creating the thread remotely is too random, then it may introduce too many corner cases and we may not be able to test them all sufficiently to be confident it really works properly.  I'll spend the rest of my life chasing down random &amp;quot;attach failed to create the helper thread&amp;quot; bugs!&lt;br&gt;</description></item><item><title>How do Managed Breakpoints work?</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#339757</link><pubDate>Wed, 29 Dec 2004 06:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:339757</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description /></item><item><title>Special threads in CLR</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#438067</link><pubDate>Tue, 12 Jul 2005 21:32:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:438067</guid><dc:creator>Yun Jin's WebLog</dc:creator><description>Question: How many threads does a typical managed process have when it just starts to run?&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;...</description></item><item><title>How many threads does a typical managed process have when it just starts to run?</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#453127</link><pubDate>Thu, 18 Aug 2005 19:33:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:453127</guid><dc:creator>C#, VS Deployment and all geek talk</dc:creator><description /></item><item><title>Special threads in CLR</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#457333</link><pubDate>Sun, 28 Aug 2005 22:44:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:457333</guid><dc:creator>Yun Jin's WebLog</dc:creator><description>Question: How many threads does a typical managed process have when it just starts to run?&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;...</description></item><item><title>Out-of-band events and Mixed-mode debugging</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#464771</link><pubDate>Tue, 13 Sep 2005 18:10:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:464771</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>ICorDebug reentrancy</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#471114</link><pubDate>Mon, 19 Sep 2005 09:50:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:471114</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>ICorDebug (ICD) in managed-only debugging mode does not need to be a reentrant API. In other words, you...</description></item><item><title>What to expect when you Attach, Async-Break</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#556705</link><pubDate>Tue, 21 Mar 2006 19:14:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:556705</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>Don't assume that if you have a thread doing a spin-wait, that you can attach / asynchronously-break...</description></item><item><title>Caveats about managed JIT-debugging </title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#676756</link><pubDate>Mon, 24 Jul 2006 18:15:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:676756</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>I received some questions in the mailbag about what Debugger.Launch actually does. Debugger.Launch the...</description></item><item><title>Trivia about Managed debugging and Exit Process</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#2516117</link><pubDate>Thu, 10 May 2007 06:52:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2516117</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>&lt;p&gt;Process Shutdown is evil , as Raymond Chen recently blogged about in wonderful detail. This prompts me&lt;/p&gt;
</description></item><item><title>ICorDebug re-architecture in CLR 4.0</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#9027532</link><pubDate>Sat, 01 Nov 2008 03:10:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9027532</guid><dc:creator>Rick Byers</dc:creator><description>&lt;p&gt;In my previous post I mentioned that CLR 4.0 will support managed dump debugging through ICorDebug, and&lt;/p&gt;
</description></item><item><title>How to debug component written in VS2003 in a VS2005 application | keyongtech</title><link>http://blogs.msdn.com/jmstall/archive/2004/10/13/241828.aspx#9338135</link><pubDate>Sun, 18 Jan 2009 19:24:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9338135</guid><dc:creator>How to debug component written in VS2003 in a VS2005 application | keyongtech</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.keyongtech.com/613511-how-to-debug-component-written"&gt;http://www.keyongtech.com/613511-how-to-debug-component-written&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>