<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>&#039;G&#039; Spot &#187; Debugging</title>
	<atom:link href="http://gurganus.name/brant/category/technology/debugging/feed/" rel="self" type="application/rss+xml" />
	<link>http://gurganus.name/brant</link>
	<description>Thoughts from a Thinker, Programmer, and Outdoorsman</description>
	<lastBuildDate>Mon, 15 Feb 2010 07:02:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Running with PageHeap Enabled</title>
		<link>http://gurganus.name/brant/2009/11/08/running-with-pageheap-enabled/</link>
		<comments>http://gurganus.name/brant/2009/11/08/running-with-pageheap-enabled/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 04:21:38 +0000</pubDate>
		<dc:creator>brantgurga</dc:creator>
				<category><![CDATA[Debugging]]></category>
		<category><![CDATA[pageheap]]></category>

		<guid isPermaLink="false">http://gurganus.name/brant/?p=153</guid>
		<description><![CDATA[I mention having PageHeap enabled.]]></description>
			<content:encoded><![CDATA[<p>For the next few days, I am intending to run with PageHeap enabled. I&#8217;ve gotten a few crashes that come up as heap corruption, so hopefully enabling PageHeap will help find the root cause.</p>
<p><span id="more-153"></span></p>
<p>The way PageHeap works is that when a program asks for memory, Windows will give it a whole page of memory marking the rest of the page as restricted. This makes it far more likely for buffer overflows and other issues corrupting the heap to get caught when they happen instead of causing trouble down the line.</p>
]]></content:encoded>
			<wfw:commentRss>http://gurganus.name/brant/2009/11/08/running-with-pageheap-enabled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deadlocks in Internet Explorer</title>
		<link>http://gurganus.name/brant/2009/10/25/deadlocks-in-internet-explorer/</link>
		<comments>http://gurganus.name/brant/2009/10/25/deadlocks-in-internet-explorer/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 00:30:31 +0000</pubDate>
		<dc:creator>brantgurga</dc:creator>
				<category><![CDATA[Debugging]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://gurganus.name/brant/?p=115</guid>
		<description><![CDATA[I talk about the Internet Explorer hangs I am experiencing recently.]]></description>
			<content:encoded><![CDATA[<p>I have been encountering deadlocks in Internet Explorer according to the Windows 7 Resource Monitor. More than likely, this is related to some sort of extension that I added recently that is not written correctly. Anyhow, I will be receiving Windows 7 Ultimate soon and will be reinstalling so it probably isn&#8217;t worth diving too much into debugging what is going on. The <a href="http://msdn.microsoft.com/en-us/library/ms681622(VS.85).aspx">Analyze Wait Chain</a> functionality is nice though for determining why a program is not responding.</p>
]]></content:encoded>
			<wfw:commentRss>http://gurganus.name/brant/2009/10/25/deadlocks-in-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tracking Down Memory Corruption</title>
		<link>http://gurganus.name/brant/2009/10/20/tracking-down-memory-corruption/</link>
		<comments>http://gurganus.name/brant/2009/10/20/tracking-down-memory-corruption/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 08:17:13 +0000</pubDate>
		<dc:creator>brantgurga</dc:creator>
				<category><![CDATA[Debugging]]></category>
		<category><![CDATA[diagnostic]]></category>
		<category><![CDATA[pageheap]]></category>

		<guid isPermaLink="false">http://gurganus.name/brant/?p=82</guid>
		<description><![CDATA[I talk about what I'm doing to improve my Internet Explorer stability.]]></description>
			<content:encoded><![CDATA[<p>For some time now, Internet Explorer has crashed for me in sometimes random scenarios. Before you get to bashing Internet Explorer, the main culprit behind Internet Explorer crashing is some sort of plugin or add-on. Therefore, with each crash, I use <a href="http://msdn.microsoft.com/en-us/library/cc266321.aspx">WinDbg</a> to attach to the crash and do an <a href="http://msdn.microsoft.com/en-us/library/cc267478.aspx">analysis</a> to determine a most likely cause. With the guidance of what it reports, I instructed <a href="http://www.adobe.com/products/reader/">Adobe Reader</a> to not open in the browser, removed the <a href="http://www.upromise.com/turbosaver">Upromise Turbosaver</a> for now, and removed the <a href="http://www.skype.com/">Skype</a> plugin for Internet Explorer. With those changes alone, the Internet Explorer stability seems to have improved. There&#8217;s still something more happening though.</p>
<p><span id="more-82"></span></p>
<p>One issue that comes up frequently in the debugging analyses is memory corruption. This means that something running within the Internet Explorer process overwrote memory it did not allocate. That nature of this issue is that by the time Internet Explorer crashes, it is long after the problem causing the crash occured so either the debugging analysis cannot find a likely culprit or if it does, it is misleading.</p>
<p>The first step I&#8217;ve taken is to run the <a href="http://www.microsoft.com/windows/windows-vista/features/built-in-diagnostics.aspx">memory diagnostic tool</a> in Windows to go a good way in ruling out random memory corruption due to hardware issues. That tool seems to indicate that my memory is working correctly. The next thing I&#8217;ve done is to use <a href="http://msdn.microsoft.com/en-us/library/cc265936.aspx">PageHeap</a> on the 32-bit iexplore.exe process. Basically, this will make Windows allocate memory to Internet Explorer (and any of its extensions) in whole page increments. This will give each allocation plenty of padding so that corruption can be detected far sooner. Hopefully this will help figure out these random memory corruption issues I still experience with Internet Explorer.</p>
]]></content:encoded>
			<wfw:commentRss>http://gurganus.name/brant/2009/10/20/tracking-down-memory-corruption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
