<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for voyce</title>
	<atom:link href="http://www.voyce.com/index.php/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.voyce.com</link>
	<description>Programming and debugging tidbits</description>
	<lastBuildDate>Wed, 04 Jan 2012 23:07:52 +0000</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Creating an iPad flip-clock with Core Animation by Looking back at 2011</title>
		<link>http://www.voyce.com/index.php/2010/04/10/creating-an-ipad-flip-clock-with-core-animation/comment-page-1/#comment-1038</link>
		<dc:creator>Looking back at 2011</dc:creator>
		<pubDate>Wed, 04 Jan 2012 23:07:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.voyce.com/?p=791#comment-1038</guid>
		<description>[...] and getting things &#8216;just right&#8217; &#8211; takes at least 80% of the time. My 2010 post on Core Animation flip clocks continues to get a lot of traffic, and I finally bit the bullet and posted a (free!) app that uses [...]</description>
		<content:encoded><![CDATA[<p>[...] and getting things &#8216;just right&#8217; &#8211; takes at least 80% of the time. My 2010 post on Core Animation flip clocks continues to get a lot of traffic, and I finally bit the bullet and posted a (free!) app that uses [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Getting IUnknown from __ComObject by Use SAD to view RCWs and CCWs &#124; Code &#38; Debug</title>
		<link>http://www.voyce.com/index.php/2009/09/03/getting-iunknown-from-__comobject/comment-page-1/#comment-1032</link>
		<dc:creator>Use SAD to view RCWs and CCWs &#124; Code &#38; Debug</dc:creator>
		<pubDate>Thu, 08 Sep 2011 20:04:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.voyce.com/?p=330#comment-1032</guid>
		<description>[...] When you click this menu, a new window appears that parses the output result of sos!syncblk -all. [...]</description>
		<content:encoded><![CDATA[<p>[...] When you click this menu, a new window appears that parses the output result of sos!syncblk -all. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Quick post: Using Mono.Cecil and F# to get assembly dependencies by F# Discoveries This Week 11/10/2010 &#171; F# Central</title>
		<link>http://www.voyce.com/index.php/2010/10/31/quick-post-using-mono-cecil-and-f-to-get-assembly-dependencies/comment-page-1/#comment-1014</link>
		<dc:creator>F# Discoveries This Week 11/10/2010 &#171; F# Central</dc:creator>
		<pubDate>Wed, 10 Nov 2010 18:41:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.voyce.com/?p=996#comment-1014</guid>
		<description>[...] Ian Voyce&#8217;s Using Mono.Cecil and F# to get assembly dependencies “It can be quite enlightening, as well as useful, to see your app dependencies laid-bare before you…” [...]</description>
		<content:encoded><![CDATA[<p>[...] Ian Voyce&#8217;s Using Mono.Cecil and F# to get assembly dependencies “It can be quite enlightening, as well as useful, to see your app dependencies laid-bare before you…” [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Public static fields gone from F# 2.0 by What are the main drawbacks of exposing a DependencyProperty via a static property instead of a static field? (F#) &#124; DeveloperQuestion.com</title>
		<link>http://www.voyce.com/index.php/2010/10/01/public-static-fields-gone-from-f-2-0/comment-page-1/#comment-1013</link>
		<dc:creator>What are the main drawbacks of exposing a DependencyProperty via a static property instead of a static field? (F#) &#124; DeveloperQuestion.com</dc:creator>
		<pubDate>Tue, 09 Nov 2010 19:14:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.voyce.com/?p=900#comment-1013</guid>
		<description>[...] fooProperty, style setters    I found out that F# 2.0 apparently doesn&#039;t support public static fields anymore, which makes impossible the standard way of implementing a [...]</description>
		<content:encoded><![CDATA[<p>[...] fooProperty, style setters    I found out that F# 2.0 apparently doesn&#39;t support public static fields anymore, which makes impossible the standard way of implementing a [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Quick post: Using Mono.Cecil and F# to get assembly dependencies by The Team Master: Ben 10 (Episodio 6) &#124; Juegos De Bendies</title>
		<link>http://www.voyce.com/index.php/2010/10/31/quick-post-using-mono-cecil-and-f-to-get-assembly-dependencies/comment-page-1/#comment-1012</link>
		<dc:creator>The Team Master: Ben 10 (Episodio 6) &#124; Juegos De Bendies</dc:creator>
		<pubDate>Tue, 02 Nov 2010 10:35:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.voyce.com/?p=996#comment-1012</guid>
		<description>[...] Quick post: Using Mono.Cecil and F# to get assembly dependencies [...]</description>
		<content:encoded><![CDATA[<p>[...] Quick post: Using Mono.Cecil and F# to get assembly dependencies [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Quick post: Using Mono.Cecil and F# to get assembly dependencies by Dew Drop &#8211; November 1, 2010 &#124; Alvin Ashcraft&#39;s Morning Dew</title>
		<link>http://www.voyce.com/index.php/2010/10/31/quick-post-using-mono-cecil-and-f-to-get-assembly-dependencies/comment-page-1/#comment-1011</link>
		<dc:creator>Dew Drop &#8211; November 1, 2010 &#124; Alvin Ashcraft&#39;s Morning Dew</dc:creator>
		<pubDate>Mon, 01 Nov 2010 11:35:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.voyce.com/?p=996#comment-1011</guid>
		<description>[...] Quick post: Using Mono.Cecil and F# to get assembly dependencies (Ian Voyce) [...]</description>
		<content:encoded><![CDATA[<p>[...] Quick post: Using Mono.Cecil and F# to get assembly dependencies (Ian Voyce) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Quick post: Using Mono.Cecil and F# to get assembly dependencies by Tweets that mention Quick post: Using Mono.Cecil and F# to get assembly dependencies -- Topsy.com</title>
		<link>http://www.voyce.com/index.php/2010/10/31/quick-post-using-mono-cecil-and-f-to-get-assembly-dependencies/comment-page-1/#comment-1010</link>
		<dc:creator>Tweets that mention Quick post: Using Mono.Cecil and F# to get assembly dependencies -- Topsy.com</dc:creator>
		<pubDate>Sun, 31 Oct 2010 18:17:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.voyce.com/?p=996#comment-1010</guid>
		<description>[...] This post was mentioned on Twitter by Leandro Silva, Fredrik J Dahlén. Fredrik J Dahlén said: #fsharp Quick post: Using Mono.Cecil and F# to get assembly dependencies: I’m a big fan of the Mono.Cecil library ... http://bit.ly/dyeT8F [...]</description>
		<content:encoded><![CDATA[<p>[...] This post was mentioned on Twitter by Leandro Silva, Fredrik J Dahlén. Fredrik J Dahlén said: #fsharp Quick post: Using Mono.Cecil and F# to get assembly dependencies: I’m a big fan of the Mono.Cecil library &#8230; <a href="http://bit.ly/dyeT8F" rel="nofollow">http://bit.ly/dyeT8F</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Beware of using stack-based COM objects from .NET by Grant Shirreffs</title>
		<link>http://www.voyce.com/index.php/2010/01/21/beware-of-using-stack-based-com-objects-from-net/comment-page-1/#comment-999</link>
		<dc:creator>Grant Shirreffs</dc:creator>
		<pubDate>Thu, 14 Oct 2010 20:17:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.voyce.com/?p=618#comment-999</guid>
		<description>Thanks, exactly what I wanted.</description>
		<content:encoded><![CDATA[<p>Thanks, exactly what I wanted.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Beware of using stack-based COM objects from .NET by ian</title>
		<link>http://www.voyce.com/index.php/2010/01/21/beware-of-using-stack-based-com-objects-from-net/comment-page-1/#comment-998</link>
		<dc:creator>ian</dc:creator>
		<pubDate>Thu, 14 Oct 2010 09:20:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.voyce.com/?p=618#comment-998</guid>
		<description>Hi Grant,

Thanks for the comment.

I found the offset using the public symbols for mscorwks and disassembling around functions of interest. If you&#039;ve got the pdb symbols loaded (using &lt;code&gt;.symfix&lt;/code&gt; should setup the appropriate paths) you can use &lt;code&gt;x&lt;/code&gt; (examine symbols) to find the routine, e.g.:
&lt;code&gt;
0:020&gt; x mscorwks!RCW::Cleanup
79faa927 mscorwks!RCW::Cleanup = &lt;no type information&gt;
&lt;/code&gt;

The particular offset I used was the location in that routine where it actually deleted its internal wrapper object:
&lt;code&gt;
0:020&gt; u 79faa974 
mscorwks!RCW::Cleanup+0x4d:
79faa974 e8a7f7ecff      call    mscorwks!operator delete (79e7a120)
79faa979 59              pop     ecx
79faa97a e8356eecff      call    mscorwks!_EH_epilog3 (79e717b4)
79faa97f c3              ret
&lt;/code&gt;

The creation function is &lt;code&gt;mscorwks!RCW:CreateRCW&lt;/code&gt;, so you can search for that using &lt;code&gt;x&lt;/code&gt; in your live process in the same way.

Hope that helps.</description>
		<content:encoded><![CDATA[<p>Hi Grant,</p>
<p>Thanks for the comment.</p>
<p>I found the offset using the public symbols for mscorwks and disassembling around functions of interest. If you&#8217;ve got the pdb symbols loaded (using <code>.symfix</code> should setup the appropriate paths) you can use <code>x</code> (examine symbols) to find the routine, e.g.:<br />
<code><br />
0:020> x mscorwks!RCW::Cleanup<br />
79faa927 mscorwks!RCW::Cleanup = &lt;no type information&gt;<br />
</code></p>
<p>The particular offset I used was the location in that routine where it actually deleted its internal wrapper object:<br />
<code><br />
0:020> u 79faa974<br />
mscorwks!RCW::Cleanup+0x4d:<br />
79faa974 e8a7f7ecff      call    mscorwks!operator delete (79e7a120)<br />
79faa979 59              pop     ecx<br />
79faa97a e8356eecff      call    mscorwks!_EH_epilog3 (79e717b4)<br />
79faa97f c3              ret<br />
</code></p>
<p>The creation function is <code>mscorwks!RCW:CreateRCW</code>, so you can search for that using <code>x</code> in your live process in the same way.</p>
<p>Hope that helps.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Beware of using stack-based COM objects from .NET by Grant Shirreffs</title>
		<link>http://www.voyce.com/index.php/2010/01/21/beware-of-using-stack-based-com-objects-from-net/comment-page-1/#comment-997</link>
		<dc:creator>Grant Shirreffs</dc:creator>
		<pubDate>Thu, 14 Oct 2010 00:48:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.voyce.com/?p=618#comment-997</guid>
		<description>Interesting article; thanks very much for this.

I especially like the idea of the dumping breakpoints on RCW creation and destruction.  Unfortunately, the addresses you give are specific to a version of MSCORWKS.DLL , and are completely unmapped in a typical 32-bit process on my Windows 7/64 machine.  How did you arrive at these addresses?  I&#039;ve tried remapping them based on the MSCORWKS addresses in your call stack compared to those in mine, but the functions must have moved inside the DLL.  Any hints?

Thanks again
Grant</description>
		<content:encoded><![CDATA[<p>Interesting article; thanks very much for this.</p>
<p>I especially like the idea of the dumping breakpoints on RCW creation and destruction.  Unfortunately, the addresses you give are specific to a version of MSCORWKS.DLL , and are completely unmapped in a typical 32-bit process on my Windows 7/64 machine.  How did you arrive at these addresses?  I&#8217;ve tried remapping them based on the MSCORWKS addresses in your call stack compared to those in mine, but the functions must have moved inside the DLL.  Any hints?</p>
<p>Thanks again<br />
Grant</p>
]]></content:encoded>
	</item>
</channel>
</rss>

