<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - CLR 4: Debugging and Profiling API Enhancements</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Blogs/Charles/CLR-4-Debugging-and-Profiling-Enhancements/RSS"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/previewImages/100/467169_100x75.jpg</url>
		<title>Channel 9 - CLR 4: Debugging and Profiling API Enhancements</title>
		<link></link>
	</image>
	<description>Developers Thomas Lai and&amp;nbsp;David Broman&amp;nbsp;join Program Manager Jon Langdon to share with us some of the new debugging and profiling enhancements in&amp;nbsp;CLR 4. They&#39;ve done a lot work in the upcoming release and besides evolving debugging and profilining capabilities
 and semantics (APIs), they&#39;ve implemented (or fixed) many things customers have been asking for.
The managed debugging and profiling&amp;nbsp;story with CLR 4 is based on a new core architecture (they are moving to an out of process model which means you&#39;ll be able to debug multiple threads rather than being stuck to the same thread(s) attached to the main context.
 Something like that. Watch, listen, learn.). Tune in to learn about some of the design decisions made to support moving out-of-proc, improving&amp;nbsp;debugger and profiling reliability, enhanced core APIs, future directions and meet some of&amp;nbsp;the people who design and implement these important engineering&amp;nbsp;components&amp;nbsp;for
 the managed (.NET)&amp;nbsp;world.Enjoy. </description>
	<link></link>
	<language>en</language>
	<pubDate>Wed, 22 May 2013 05:16:35 GMT</pubDate>
	<lastBuildDate>Wed, 22 May 2013 05:16:35 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: CLR 4: Debugging and Profiling API Enhancements</title>
		<description>
			<![CDATA[
<p>Hey Charles,</p>
<p>I guess when you were arguing on IL with Lars at Lang.NET 2009, what Lars was saying about &quot;not necessary to have IL&quot;, he wasn't talking generally on IL on all VMs, but rather focused on JavaScript: JavaScript has one and only one wire format, and that is
 the source code. By the spec, JavaScript programs are only defined with source code, and when you distribute JavaScript programs, you distribute in source form. Every compatible JavaScript implementation should spit out the source code of some function when
 you call toString() on the function object. So the ability to deal with source code is a must-have in every JavaScript implementation. Within the VM itself, it can use whatever internal representation of the program as it likes, and some uses bytecodes, just
 as MSIL does. What's different is that MSIL is the wire format for .NET programs, and those bytecodes in JavaScript VMs aren't.</p>
<p>When you distribute managed programs, the CLR verifies MSIL to make sure it's valid (in some environment settings you're not allowed to run unverifiable code). This is important because otherwise no one can guarantee that the program in MSIL is what is was
 in C# or VB, or any other source form -- some bad guy could have just made up rouge programs directly in MSIL.</p>
<p>If JavaScript had IL as a wire format, then any JavaScript VM will have to do the same verifications as the CLR does, to make sure that the IL is valid. And remember JavaScript already has source form as its wire format. So whenever a JavaScript receives
 source code to run, it has to parse the source code and do some checking before generating IL (check No.1), and then before executing the IL it checks again (check No.2). That what Lars was saying about &quot;you'll have to check twice if you had IL (as a wire
 format for JavaScript)&quot;.</p>
<p>So it's not that IL is bad in general sense, it just doesn't fit into the JavaScript model of wire format, and that's it.</p>
<p>I read about this in a blog, here: <a href="http://rednaxelafx.javaeye.com/blog/382429">
http://rednaxelafx.javaeye.com/blog/382429</a>, it actually gives an example of what happens if a language has IL as one of its wire formats, but doesn't do verification on the IL before executing (in that post the example is CPython). It's in Chinese, but
 maybe we could get him translate it into English sometime later...</p>
<p>Cheers,</p>
<p>Raven</p>
<p>posted by Ravenex</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/CLR-4-Debugging-and-Profiling-Enhancements#c633790146130000000</link>
		<pubDate>Wed, 27 May 2009 09:50:13 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/CLR-4-Debugging-and-Profiling-Enhancements#c633790146130000000</guid>
		<dc:creator>Ravenex</dc:creator>
	</item>
	<item>
		<title>Re: CLR 4: Debugging and Profiling API Enhancements</title>
		<description>
			<![CDATA[
<p>Should the profiler work in instrumenting mode in 2010 Beta 1? I guess I should read the rel notes since it just crashes here on simple WinForm app.&nbsp;</p>
<p>&nbsp;</p>
<p>posted by androidi</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/CLR-4-Debugging-and-Profiling-Enhancements#c633790448250000000</link>
		<pubDate>Wed, 27 May 2009 18:13:45 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/CLR-4-Debugging-and-Profiling-Enhancements#c633790448250000000</guid>
		<dc:creator>androidi</dc:creator>
	</item>
	<item>
		<title>Re: CLR 4: Debugging and Profiling API Enhancements</title>
		<description>
			<![CDATA[
<p>Are you asking about the underlying CLR Profiling API, or a particular profiler you're trying to use?&nbsp; (If so, which one?)&nbsp; The underlying CLR Profiling API does still allow IL rewriting in beta 1 as it did in CLR 2.</p>
<p>posted by davbr</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/CLR-4-Debugging-and-Profiling-Enhancements#c633790490040000000</link>
		<pubDate>Wed, 27 May 2009 19:23:24 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/CLR-4-Debugging-and-Profiling-Enhancements#c633790490040000000</guid>
		<dc:creator>davbr</dc:creator>
	</item>
	<item>
		<title>Re: CLR 4: Debugging and Profiling API Enhancements</title>
		<description>
			<![CDATA[
<p>edit sorry. I should've looked at the readme for this.. I'll try again after install of the team explorer, this below could be the cause.</p>
<h4>2.4.10.1 Visual Studio Team System Profiler components do not work if Team Explorer is not also installed</h4>
<p>To work correctly, the Visual Studio Team System Profiler requires some Team Explorer components to be installed.&nbsp; Although these components are installed together with VSTS, the problem is limited to custom installations that include the Team System Profiler
 but exclude Team Explorer.</p>
<p>posted by androidi</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Charles/CLR-4-Debugging-and-Profiling-Enhancements#c633791398860000000</link>
		<pubDate>Thu, 28 May 2009 20:38:06 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Charles/CLR-4-Debugging-and-Profiling-Enhancements#c633791398860000000</guid>
		<dc:creator>androidi</dc:creator>
	</item>
</channel>
</rss>