<?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: Crash Dump Analysis Patterns (Part 60)</title>
	<link>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/</link>
	<description>Structural and Behavioral Patterns for Software Diagnostics, Forensics and Prognostics</description>
	<pubDate>Mon, 25 May 2026 03:52:06 +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/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-767722</link>
		<dc:creator>Dmitry Vostokov</dc:creator>
		<pubDate>Wed, 21 Sep 2022 08:16:19 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-767722</guid>
		<description>Function parameters that were left in memory.</description>
		<content:encoded><![CDATA[<p>Function parameters that were left in memory.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry Vostokov</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-750953</link>
		<dc:creator>Dmitry Vostokov</dc:creator>
		<pubDate>Mon, 26 Oct 2020 12:26:13 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-750953</guid>
		<description>Initially named after residues in complex analysis: 
https://en.wikipedia.org/wiki/Residue_(complex_analysis)</description>
		<content:encoded><![CDATA[<p>Initially named after residues in complex analysis:<br />
<a href="https://en.wikipedia.org/wiki/Residue_" rel="nofollow">https://en.wikipedia.org/wiki/Residue_</a>(complex_analysis)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry Vostokov</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-741689</link>
		<dc:creator>Dmitry Vostokov</dc:creator>
		<pubDate>Tue, 08 Dec 2015 17:13:34 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-741689</guid>
		<description>The undocumented !ddstack WinDbg extension (ext) command may save some time for listing Execution Residue symbols. It is equivalent to !teb, then dpS, but also gives stack addresses for mapped symbols like dps command but with less output (the command may give incorrect results for WOW64 process memory dumps saved as x64 memory dumps):

&lt;p align="left"&gt;0:001&#62; !ddstack
Range: 0000000002ecf000-&#62;0000000002ee0000
0x00000000`02edf4b0	0x00000000`775d0000	ntdll!RtlDeactivateActivationContext &#60;PERF&#62; (ntdll+0x0)+0000000000000000
0x00000000`02edf4c8	0x00000000`775fc454	ntdll!LdrpInitialize+00000000000000a4
0x00000000`02edf538	0x00000000`775fc358	ntdll!LdrInitializeThunk+0000000000000018
0x00000000`02edf5e0	0x00000000`776d4578	ntdll!`string'+0000000000000000
0x00000000`02edf5e8	0x00000000`776d44e0	ntdll!`string'+0000000000000000
0x00000000`02edf5f8	0x00000000`775f0f3b	ntdll!TpPostTask+000000000000019b
0x00000000`02edf658	0x00000000`775e6199	ntdll!TppWorkPost+0000000000000089
0x00000000`02edf688	0x00000000`775fc520	ntdll!RtlUserThreadStart+0000000000000000
0x00000000`02edf698	0x00000000`775e6b4d	ntdll!TppWaitComplete+000000000000003d
0x00000000`02edf6a8	0x00000000`775e6b4d	ntdll!TppWaitComplete+000000000000003d
0x00000000`02edf6c8	0x00000000`775eb828	ntdll!TppWaiterpDoTransitions+0000000000000154
0x00000000`02edf6e8	0x00000000`775e6abe	ntdll!TppWaiterpCompleteWait+000000000000004e
0x00000000`02edf6f8	0x00000000`775d7858	ntdll!TppWaiterpWaitTimerExpired+0000000000000038
0x00000000`02edf720	0x00000000`776d4578	ntdll!`string'+0000000000000000
0x00000000`02edf728	0x00000000`776d44e0	ntdll!`string'+0000000000000000
0x00000000`02edf738	0x00000000`776d4500	ntdll!`string'+0000000000000000
0x00000000`02edf748	0x00000000`775eb037	ntdll!TppWaiterpThread+000000000000014d
0x00000000`02edf768	0x00000000`776d4550	ntdll!`string'+0000000000000000
0x00000000`02edf9e8	0x00000000`773c59ed	kernel32!BaseThreadInitThunk+000000000000000d
0x00000000`02edfa18	0x00000000`775fc541	ntdll!RtlUserThreadStart+000000000000001d&lt;/p&gt;


&lt;p align="left"&gt;0:001&#62; !teb
TEB at 000007fffffdb000
    ExceptionList:        0000000000000000
    StackBase:            0000000002ee0000
    StackLimit:           0000000002ecf000
    SubSystemTib:         0000000000000000
    FiberData:            0000000000001e00
    ArbitraryUserPointer: 0000000000000000
    Self:                 000007fffffdb000
    EnvironmentPointer:   0000000000000000
    ClientId:             0000000000001344 . 0000000000001ab0
    RpcHandle:            0000000000000000
    Tls Storage:          0000000000000000
    PEB Address:          000007fffffdf000
    LastErrorValue:       0
    LastStatusValue:      0
    Count Owned Locks:    0
    HardErrorMode:        0&lt;/p&gt;


&lt;p align="left"&gt;0:001&#62; dpS 0000000002ecf000 0000000002ee0000
 00000000`775d0000 ntdll!RtlDeactivateActivationContext &#60;PERF&#62; (ntdll+0x0)
 00000000`775fc454 ntdll!LdrpInitialize+0xa4
 00000000`775fc358 ntdll!LdrInitializeThunk+0x18
 00000000`776d4578 ntdll!`string'
 00000000`776d44e0 ntdll!`string'
 00000000`775f0f3b ntdll!TpPostTask+0x19b
 00000000`775e6199 ntdll!TppWorkPost+0x89
 00000000`775fc520 ntdll!RtlUserThreadStart
 00000000`775e6b4d ntdll!TppWaitComplete+0x3d
 00000000`775e6b4d ntdll!TppWaitComplete+0x3d
 00000000`775eb828 ntdll!TppWaiterpDoTransitions+0x154
 00000000`775e6abe ntdll!TppWaiterpCompleteWait+0x4e
 00000000`775d7858 ntdll!TppWaiterpWaitTimerExpired+0x38
 00000000`776d4578 ntdll!`string'
 00000000`776d44e0 ntdll!`string'
 00000000`776d4500 ntdll!`string'
 00000000`775eb037 ntdll!TppWaiterpThread+0x14d
 00000000`776d4550 ntdll!`string'
 00000000`773c59ed kernel32!BaseThreadInitThunk+0xd
 00000000`775fc541 ntdll!RtlUserThreadStart+0x1d&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>The undocumented !ddstack WinDbg extension (ext) command may save some time for listing Execution Residue symbols. It is equivalent to !teb, then dpS, but also gives stack addresses for mapped symbols like dps command but with less output (the command may give incorrect results for WOW64 process memory dumps saved as x64 memory dumps):</p>
<p align="left">0:001&gt; !ddstack<br />
Range: 0000000002ecf000-&gt;0000000002ee0000<br />
0&#215;00000000`02edf4b0	0&#215;00000000`775d0000	ntdll!RtlDeactivateActivationContext &lt;PERF&gt; (ntdll+0&#215;0)+0000000000000000<br />
0&#215;00000000`02edf4c8	0&#215;00000000`775fc454	ntdll!LdrpInitialize+00000000000000a4<br />
0&#215;00000000`02edf538	0&#215;00000000`775fc358	ntdll!LdrInitializeThunk+0000000000000018<br />
0&#215;00000000`02edf5e0	0&#215;00000000`776d4578	ntdll!`string&#8217;+0000000000000000<br />
0&#215;00000000`02edf5e8	0&#215;00000000`776d44e0	ntdll!`string&#8217;+0000000000000000<br />
0&#215;00000000`02edf5f8	0&#215;00000000`775f0f3b	ntdll!TpPostTask+000000000000019b<br />
0&#215;00000000`02edf658	0&#215;00000000`775e6199	ntdll!TppWorkPost+0000000000000089<br />
0&#215;00000000`02edf688	0&#215;00000000`775fc520	ntdll!RtlUserThreadStart+0000000000000000<br />
0&#215;00000000`02edf698	0&#215;00000000`775e6b4d	ntdll!TppWaitComplete+000000000000003d<br />
0&#215;00000000`02edf6a8	0&#215;00000000`775e6b4d	ntdll!TppWaitComplete+000000000000003d<br />
0&#215;00000000`02edf6c8	0&#215;00000000`775eb828	ntdll!TppWaiterpDoTransitions+0000000000000154<br />
0&#215;00000000`02edf6e8	0&#215;00000000`775e6abe	ntdll!TppWaiterpCompleteWait+000000000000004e<br />
0&#215;00000000`02edf6f8	0&#215;00000000`775d7858	ntdll!TppWaiterpWaitTimerExpired+0000000000000038<br />
0&#215;00000000`02edf720	0&#215;00000000`776d4578	ntdll!`string&#8217;+0000000000000000<br />
0&#215;00000000`02edf728	0&#215;00000000`776d44e0	ntdll!`string&#8217;+0000000000000000<br />
0&#215;00000000`02edf738	0&#215;00000000`776d4500	ntdll!`string&#8217;+0000000000000000<br />
0&#215;00000000`02edf748	0&#215;00000000`775eb037	ntdll!TppWaiterpThread+000000000000014d<br />
0&#215;00000000`02edf768	0&#215;00000000`776d4550	ntdll!`string&#8217;+0000000000000000<br />
0&#215;00000000`02edf9e8	0&#215;00000000`773c59ed	kernel32!BaseThreadInitThunk+000000000000000d<br />
0&#215;00000000`02edfa18	0&#215;00000000`775fc541	ntdll!RtlUserThreadStart+000000000000001d</p>
<p align="left">0:001&gt; !teb<br />
TEB at 000007fffffdb000<br />
    ExceptionList:        0000000000000000<br />
    StackBase:            0000000002ee0000<br />
    StackLimit:           0000000002ecf000<br />
    SubSystemTib:         0000000000000000<br />
    FiberData:            0000000000001e00<br />
    ArbitraryUserPointer: 0000000000000000<br />
    Self:                 000007fffffdb000<br />
    EnvironmentPointer:   0000000000000000<br />
    ClientId:             0000000000001344 . 0000000000001ab0<br />
    RpcHandle:            0000000000000000<br />
    Tls Storage:          0000000000000000<br />
    PEB Address:          000007fffffdf000<br />
    LastErrorValue:       0<br />
    LastStatusValue:      0<br />
    Count Owned Locks:    0<br />
    HardErrorMode:        0</p>
<p align="left">0:001&gt; dpS 0000000002ecf000 0000000002ee0000<br />
 00000000`775d0000 ntdll!RtlDeactivateActivationContext &lt;PERF&gt; (ntdll+0&#215;0)<br />
 00000000`775fc454 ntdll!LdrpInitialize+0xa4<br />
 00000000`775fc358 ntdll!LdrInitializeThunk+0&#215;18<br />
 00000000`776d4578 ntdll!`string&#8217;<br />
 00000000`776d44e0 ntdll!`string&#8217;<br />
 00000000`775f0f3b ntdll!TpPostTask+0&#215;19b<br />
 00000000`775e6199 ntdll!TppWorkPost+0&#215;89<br />
 00000000`775fc520 ntdll!RtlUserThreadStart<br />
 00000000`775e6b4d ntdll!TppWaitComplete+0&#215;3d<br />
 00000000`775e6b4d ntdll!TppWaitComplete+0&#215;3d<br />
 00000000`775eb828 ntdll!TppWaiterpDoTransitions+0&#215;154<br />
 00000000`775e6abe ntdll!TppWaiterpCompleteWait+0&#215;4e<br />
 00000000`775d7858 ntdll!TppWaiterpWaitTimerExpired+0&#215;38<br />
 00000000`776d4578 ntdll!`string&#8217;<br />
 00000000`776d44e0 ntdll!`string&#8217;<br />
 00000000`776d4500 ntdll!`string&#8217;<br />
 00000000`775eb037 ntdll!TppWaiterpThread+0&#215;14d<br />
 00000000`776d4550 ntdll!`string&#8217;<br />
 00000000`773c59ed kernel32!BaseThreadInitThunk+0xd<br />
 00000000`775fc541 ntdll!RtlUserThreadStart+0&#215;1d</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry Vostokov</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-741636</link>
		<dc:creator>Dmitry Vostokov</dc:creator>
		<pubDate>Fri, 13 Sep 2013 15:09:39 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-741636</guid>
		<description>We can also use dpS command on an range to get all symbolic references only</description>
		<content:encoded><![CDATA[<p>We can also use dpS command on an range to get all symbolic references only</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry Vostokov</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-385023</link>
		<dc:creator>Dmitry Vostokov</dc:creator>
		<pubDate>Sun, 04 Dec 2011 00:35:52 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-385023</guid>
		<description>System objects can shed extra light on past software behavior:
http://www.dumpanalysis.org/blog/index.php/2011/12/04/crash-dump-analysis-patterns-part-158/</description>
		<content:encoded><![CDATA[<p>System objects can shed extra light on past software behavior:<br />
<a href="http://www.dumpanalysis.org/blog/index.php/2011/12/04/crash-dump-analysis-patterns-part-158/" rel="nofollow">http://www.dumpanalysis.org/blog/index.php/2011/12/04/crash-dump-analysis-patterns-part-158/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry Vostokov</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-352859</link>
		<dc:creator>Dmitry Vostokov</dc:creator>
		<pubDate>Mon, 10 Oct 2011 12:05:10 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-352859</guid>
		<description>!DumpStack and !EEStack SOS commands provide summary of "call type" execution residue from raw stack</description>
		<content:encoded><![CDATA[<p>!DumpStack and !EEStack SOS commands provide summary of &#8220;call type&#8221; execution residue from raw stack</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Crash Dump Analysis &#187; Blog Archive &#187; Crash Dump Analysis Patterns (Part 104)</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-173284</link>
		<dc:creator>Crash Dump Analysis &#187; Blog Archive &#187; Crash Dump Analysis Patterns (Part 104)</dc:creator>
		<pubDate>Wed, 04 Aug 2010 23:26:43 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-173284</guid>
		<description>[...] Anyway, we shouldn&#8217;t dismiss such dumps and should try to analyze them. For example, some approaches (including using image binaries) are listed in kernel minidump analysis series. We can even see portions of raw stack data in search of execution residue: [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Anyway, we shouldn&#8217;t dismiss such dumps and should try to analyze them. For example, some approaches (including using image binaries) are listed in kernel minidump analysis series. We can even see portions of raw stack data in search of execution residue: [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Crash Dump Analysis &#187; Blog Archive &#187; IRP distribution anomaly, inconsistent dump, execution residue, hardware activity, coincidental symbolic information, not my version, virtualized system: pattern cooperation</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-156713</link>
		<dc:creator>Crash Dump Analysis &#187; Blog Archive &#187; IRP distribution anomaly, inconsistent dump, execution residue, hardware activity, coincidental symbolic information, not my version, virtualized system: pattern cooperation</dc:creator>
		<pubDate>Mon, 07 Jun 2010 23:45:06 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-156713</guid>
		<description>[...] that the thread 8b56cb10 is also an active running thread so we look at its raw stack to find any executon residue providing hints to possible hardware [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] that the thread 8b56cb10 is also an active running thread so we look at its raw stack to find any executon residue providing hints to possible hardware [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Crash Dump Analysis &#187; Blog Archive &#187; What service is this?</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-146755</link>
		<dc:creator>Crash Dump Analysis &#187; Blog Archive &#187; What service is this?</dc:creator>
		<pubDate>Fri, 23 Apr 2010 10:55:32 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-146755</guid>
		<description>[...] Execution residue and string pointers on thread raw stacks (WinDbg [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Execution residue and string pointers on thread raw stacks (WinDbg [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Crash Dump Analysis &#187; Blog Archive &#187; Crash Dump Analysis Patterns (Part 94a)</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-107027</link>
		<dc:creator>Crash Dump Analysis &#187; Blog Archive &#187; Crash Dump Analysis Patterns (Part 94a)</dc:creator>
		<pubDate>Mon, 30 Nov 2009 16:48:34 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/04/29/crash-dump-analysis-patterns-part-60/#comment-107027</guid>
		<description>[...] order to hypothesize about a possible culptit component we look at execution residue left on their raw stack data. Indeed, we see lots of non-coincidental symbolic references to [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] order to hypothesize about a possible culptit component we look at execution residue left on their raw stack data. Indeed, we see lots of non-coincidental symbolic references to [&#8230;]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
