Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>This is how I would tackle the problem for a end user with a crash.</p> <ol> <li><p>Download and install Debugging Tools for Windows at <a href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx" rel="noreferrer">http://www.microsoft.com/whdc/devtools/debugging/default.mspx</a></p></li> <li><p>Once the tools are installed (they end up going to C:\Program Files\ by default) start a command line window.</p></li> <li><p>Change to the directory which contains adplus (e.g "C:\Program Files\Debugging Tools for Windows (x86)").</p></li> <li><p>Run the follwing command. This will start the application and attach adplus.</p></li> </ol> <blockquote> <p><code>adplus -crash -o C:\debug\ -FullOnFirst -sc C:\path\to\your\app.exe</code></p> </blockquote> <h2>After the crash dump is created</h2> <p>Once the application crashes start WinDbg and load the .dmp file that is created in C:\debug. (File --> Open Crash Dump)</p> <p>Execute these commands to see the stack trace and hopefully find the problem.</p> <p>To load SOS for debugging</p> <ul> <li>Pre .NET 4.0</li> </ul> <blockquote> <pre><code>.loadby sos mscorwks </code></pre> </blockquote> <ul> <li>.NET 4.0</li> </ul> <blockquote> <pre><code>.loadby sos clr </code></pre> </blockquote> <p>To see the stack trace</p> <pre><code>!clrstack </code></pre> <p>To see a more useful stack trace</p> <pre><code>!clrstack –p </code></pre> <p>To poke inside an object..perhaps see what caused the exception</p> <pre><code>!do &lt;address&gt; </code></pre> <p>e.g This is the result from a application that faulted randomly with an IO exception. WinDbg pointed out the path that was being referenced which was incorrect.</p> <pre><code>0:009&gt; !do 017f2b7c Name: System.String MethodTable: 790fd8c4 EEClass: 790fd824 Size: 124(0x7c) bytes (C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll) String: \\server\path\not_here.txt Fields: MT Field Offset Type VT Attr Value Name 79102290 4000096 4 System.Int32 1 instance 54 m_arrayLength 79102290 4000097 8 System.Int32 1 instance 53 m_stringLength 790ff328 4000098 c System.Char 1 instance 5c m_firstChar 790fd8c4 4000099 10 System.String 0 shared static Empty &gt;&gt; Domain:Value 00161df8:790d884c &lt;&lt; 7912dd40 400009a 14 System.Char[] 0 shared static WhitespaceChars &gt;&gt; Domain:Value 00161df8:014113e8 &lt;&lt; </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload