<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Counterfactual Debugging: Data Ordering</title>
	<link>https://www.dumpanalysis.org/blog/index.php/2009/09/15/counterfactual-debugging-data-ordering/</link>
	<description>Structural and Behavioral Patterns for Software Diagnostics, Forensics and Prognostics</description>
	<pubDate>Wed, 06 May 2026 23:59:45 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: Dmitry Vostokov</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2009/09/15/counterfactual-debugging-data-ordering/#comment-95300</link>
		<dc:creator>Dmitry Vostokov</dc:creator>
		<pubDate>Tue, 22 Sep 2009 16:43:38 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2009/09/15/counterfactual-debugging-data-ordering/#comment-95300</guid>
		<description>Adding pastebin.com to my tool list</description>
		<content:encoded><![CDATA[<p>Adding pastebin.com to my tool list</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry Vostokov</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2009/09/15/counterfactual-debugging-data-ordering/#comment-95299</link>
		<dc:creator>Dmitry Vostokov</dc:creator>
		<pubDate>Tue, 22 Sep 2009 16:42:09 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2009/09/15/counterfactual-debugging-data-ordering/#comment-95299</guid>
		<description>There also can be just an exception when clearing the fixpoint if we change char c to int c and char *pc to int *pc:

&lt;code&gt;0:000&gt; uf wmain
StackErasure!wmain:
    8 00e91010 push    ebp
    8 00e91011 mov     ebp,esp
    8 00e91013 sub     esp,8
   10 00e91016 lea     eax,[ebp-8]
   10 00e91019 mov     dword ptr [ebp-4],eax

StackErasure!wmain+0xc:
   11 00e9101c mov     ecx,1
   11 00e91021 test    ecx,ecx
   11 00e91023 je      StackErasure!wmain+0x29 (00e91039)

StackErasure!wmain+0x15:
   13 00e91025 mov     edx,dword ptr [ebp-4]
   13 00e91028 mov     dword ptr [edx],0
   14 00e9102e mov     eax,dword ptr [ebp-4]
   14 00e91031 add     eax,4
   14 00e91034 mov     dword ptr [ebp-4],eax
   15 00e91037 jmp     StackErasure!wmain+0xc (00e9101c)

StackErasure!wmain+0x29:
   17 00e91039 xor     eax,eax
   18 00e9103b mov     esp,ebp
   18 00e9103d pop     ebp
   18 00e9103e ret&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>There also can be just an exception when clearing the fixpoint if we change char c to int c and char *pc to int *pc:</p>
<p><code>0:000> uf wmain<br />
StackErasure!wmain:<br />
    8 00e91010 push    ebp<br />
    8 00e91011 mov     ebp,esp<br />
    8 00e91013 sub     esp,8<br />
   10 00e91016 lea     eax,[ebp-8]<br />
   10 00e91019 mov     dword ptr [ebp-4],eax</p>
<p>StackErasure!wmain+0xc:<br />
   11 00e9101c mov     ecx,1<br />
   11 00e91021 test    ecx,ecx<br />
   11 00e91023 je      StackErasure!wmain+0x29 (00e91039)</p>
<p>StackErasure!wmain+0x15:<br />
   13 00e91025 mov     edx,dword ptr [ebp-4]<br />
   13 00e91028 mov     dword ptr [edx],0<br />
   14 00e9102e mov     eax,dword ptr [ebp-4]<br />
   14 00e91031 add     eax,4<br />
   14 00e91034 mov     dword ptr [ebp-4],eax<br />
   15 00e91037 jmp     StackErasure!wmain+0xc (00e9101c)</p>
<p>StackErasure!wmain+0x29:<br />
   17 00e91039 xor     eax,eax<br />
   18 00e9103b mov     esp,ebp<br />
   18 00e9103d pop     ebp<br />
   18 00e9103e ret</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sol_Ksacap</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2009/09/15/counterfactual-debugging-data-ordering/#comment-94954</link>
		<dc:creator>Sol_Ksacap</dc:creator>
		<pubDate>Sat, 19 Sep 2009 23:42:51 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2009/09/15/counterfactual-debugging-data-ordering/#comment-94954</guid>
		<description>We think borderline case for this infinite loop can even produce overflow-like exception.

For example, second 'wmain' function (with "lea eax, [ebp-5];  mov [ebp-4], eax") will trigger exception if esp on the function entry havest value 2bf008.
Here's wmain with comments (too wide for wordpress, thus external link): http://pastebin.com/f22186d3b</description>
		<content:encoded><![CDATA[<p>We think borderline case for this infinite loop can even produce overflow-like exception.</p>
<p>For example, second &#8216;wmain&#8217; function (with &#8220;lea eax, [ebp-5];  mov [ebp-4], eax&#8221;) will trigger exception if esp on the function entry havest value 2bf008.<br />
Here&#8217;s wmain with comments (too wide for wordpress, thus external link): <a href="http://pastebin.com/f22186d3b" rel="nofollow">http://pastebin.com/f22186d3b</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
