tag:blogger.com,1999:blog-67698261908876091172024-02-20T05:53:42.056-07:00Introspecting CodeDevin Garnerhttp://www.blogger.com/profile/13552913653762969903noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-6769826190887609117.post-60955738905745242922012-03-08T10:20:00.001-07:002012-03-08T10:25:00.838-07:00Search SQL Server for stored procedures in all databases containing textSearch SQL Server for stored procedures in all databases containing text<br />
<pre class="brush:sql">USE [master]
GO
CREATE PROCEDURE sp_SearchProcs
(
@SearchText VARCHAR(1000)
)
AS
BEGIN
DECLARE curDB CURSOR FORWARD_ONLY STATIC FOR
SELECT [name]
FROM master..sysdatabases
WHERE [name] NOT IN ('model', 'tempdb')
ORDER BY [name]
DECLARE @DB sysname
OPEN curDB
FETCH NEXT FROM curDB INTO @DB
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @SQL NVARCHAR(MAX) = 'USE [' + @DB +'] SELECT Distinct SO.Name, SC.Text, SS.Name AS [Schema], ''' + @DB + ''' AS [Database] FROM sysobjects SO (NOLOCK) INNER JOIN syscomments SC (NOLOCK) on SO.Id = SC.ID INNER JOIN sys.objects SO2 (NOLOCK) ON SO.id = SO2.object_id INNER JOIN sys.schemas SS ON SO2.schema_id = SS.schema_id WHERE SO.Type = ''P'' AND SC.Text LIKE ''%' + REPLACE(@SearchText, '''', '''''') + '%'' ORDER BY SO.Name'
BEGIN TRY
exec sp_executesql @SQL
END TRY
BEGIN CATCH
END CATCH
FETCH NEXT FROM curDB INTO @DB
END
CLOSE curDB
DEALLOCATE curDB
END
</pre><br />
Here's how to use it:<br />
<pre class="brush:csharp">sp_SearchProcs 'insert%into%mytable'
</pre>Devin Garnerhttp://www.blogger.com/profile/13552913653762969903noreply@blogger.com0tag:blogger.com,1999:blog-6769826190887609117.post-6406062842714362022012-01-05T20:04:00.000-07:002012-01-05T20:04:52.046-07:00Wildcard session cookiesSome browsers use .domain.com as wildcard, others use domain.com<br />
It is common practice for a user to forget the www and most servers will return the same page for www or non-www.<br />
If a user vists the non-www version of a website & the server returns a sessionID cookie, the browser may consider it a wildcard cookie, thus it will use that same cookie for ALL request to ANY subdomain of that site. Normally, each subdomain would have a separate set of cookies, so the server would generate a different sessionId for each.<br />
<br />
Here's a method you can call in the Application_EndRequest method of the global.asax.cs to prevent this from happening.<br />
<br />
<pre class="brush:csharp"> public static void RemoveWildcardSessionCookies(this HttpApplication application)
{
if (System.Web.HttpContext.Current.Request.IsLocal)
return;
string host = System.Web.HttpContext.Current.Request.Url.Host;
int countOfPeriods = host.Count(x => x == '.');
HttpCookie sessionCookie = application.Request.Cookies["ASP.NET_SessionId"];
if (sessionCookie != null && countOfPeriods <= 1)
{
sessionCookie.Expires = DateTime.Now.AddDays(-1);
sessionCookie.Value = "";
if (System.Web.HttpContext.Current.Session != null)
System.Web.HttpContext.Current.Session.Abandon();
}
}
</pre>Devin Garnerhttp://www.blogger.com/profile/13552913653762969903noreply@blogger.com0tag:blogger.com,1999:blog-6769826190887609117.post-49482116514859185122011-06-29T21:28:00.001-06:002011-06-29T21:29:52.978-06:00Dynamically compile code at runtimeCompile Lambda or Code String to MethodInfo or Action or Func:<br />
<pre class="brush:csharp">using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
namespace CodeCompiler
{
public class CompilationException : Exception
{
public List<CompilerError> Errors { get; private set; }
public CompilationException(CompilerErrorCollection errors) : base("Error compiling expression")
{
Errors = new List<CompilerError>();
foreach (CompilerError error in errors)
Errors.Add(error);
}
}
public class Compiler
{
public List<string> ReferenceDLLs { get; private set; }
public List<Assembly> ReferenceAssemblies { get; private set; }
public Compiler()
{
ReferenceDLLs = new List<string> { "System.dll", "System.Core.dll", "System.Data.dll", "System.Data.DataSetExtensions.dll", "System.Xml.dll", "System.Xml.Linq.dll" };
//ReferenceDLLs = AppDomain.CurrentDomain.GetAssemblies().Where(x => !x.IsDynamic).Select(x => x.Location).ToList();
ReferenceAssemblies = new List<Assembly>();
}
public Assembly CompileCSFile(string csFilePath)
{
using (StreamReader reader = new StreamReader(csFilePath))
return compileString(reader.ReadToEnd());
}
private MethodInfo compileStringToMethodInfo(string code)
{
Assembly assembly = compileString(code);
return assembly.GetType("FakeNamespace.FakeClass").GetMethod("MethodResult", BindingFlags.Static | BindingFlags.Public);
}
private Assembly compileString(string code)
{
CodeDomProvider compiler = CodeDomProvider.CreateProvider("CSharp");
CompilerResults result = compiler.CompileAssemblyFromSource(new CompilerParameters(ReferenceDLLs.Union(ReferenceAssemblies.ConvertAll(x => x.Location)).ToArray()), code);
if (result.Errors.Count > 0)
throw new CompilationException(result.Errors);
return result.CompiledAssembly;
}
private List<string> defaultUsingStatements()
{
return new List<string>()
{
"using System;",
"using System.Collections.Generic;",
"using System.Linq;",
"using System.IO;"
};
}
private string surroundLambaWithFakeClass<X, Y>(string text, List<string> usingStatements = null)
{
usingStatements = usingStatements ?? defaultUsingStatements();
string code = usingStatements.Aggregate((x, y) => x + "\r\n" + y) + @"
namespace FakeNamespace
{
public class FakeClass
{
public static CLASS2 MethodResult(CLASS1 param1)
{
Func<CLASS1, CLASS2> lambda = " + text + @";
return lambda(param1);
}
}
}";
code = code.Replace("CLASS1", typeof(X).ToString()).Replace("CLASS2", typeof(Y).ToString()).Replace("`1[", "<").Replace("]", ">");
return code;
}
private string surroundLambaWithFakeClass<X>(string text, List<string> usingStatements = null)
{
usingStatements = usingStatements ?? defaultUsingStatements();
string code = usingStatements.Aggregate((x, y) => x + "\r\n" + y) + @"
namespace FakeNamespace
{
public class FakeClass
{
public static void MethodResult(CLASS1 param1)
{
Action<CLASS1> lambda = " + text + @";
return lambda(param1);
}
}
}";
code = code.Replace("CLASS1", typeof(X).ToString()).Replace("`1[", "<").Replace("]", ">");
return code;
}
private string surroundMethodWithFakeClass<X>(string text, List<string> usingStatements = null)
{
usingStatements = usingStatements ?? defaultUsingStatements();
string code = usingStatements.Aggregate((x, y) => x + "\r\n" + y) + @"
namespace FakeNamespace
{
public class FakeClass
{
public static void MethodResult(CLASS1 param1)
{
" + text + @"
}
}
}";
code = code.Replace("CLASS1", typeof(X).ToString()).Replace("`1[", "<").Replace("]", ">");
return code;
}
private string surroundMethodWithFakeClass<X, Y>(string text, List<string> usingStatements = null)
{
usingStatements = usingStatements ?? defaultUsingStatements();
string code = usingStatements.Aggregate((x, y) => x + "\r\n" + y) + @"
namespace FakeNamespace
{
public class FakeClass
{
public static CLASS2 MethodResult(CLASS1 param1)
{
" + text + @"
}
}
}";
code = code.Replace("CLASS1", typeof(X).ToString()).Replace("CLASS2", typeof(Y).ToString()).Replace("`1[", "<").Replace("]", ">");
return code;
}
public Func<X, Y> ConvertMethodStringToMethodInfo<X, Y>(string text, List<string> usingStatements = null)
{
string code = surroundMethodWithFakeClass<X, Y>(text, usingStatements);
MethodInfo method = compileStringToMethodInfo(code);
return x => (Y)method.Invoke(null, new object[] { x });
}
public Action<X> ConvertMethodStringToMethodInfo<X>(string text, List<string> usingStatements = null)
{
string code = surroundMethodWithFakeClass<X>(text, usingStatements);
MethodInfo method = compileStringToMethodInfo(code);
return x => method.Invoke(null, new object[] { x });
}
public Func<X, Y> ConvertLambaStringToMethodInfo<X, Y>(string text, List<string> usingStatements = null)
{
string code = surroundLambaWithFakeClass<X, Y>(text, usingStatements);
MethodInfo methodInfo = compileStringToMethodInfo(code);
Func<X, Y> result = x => (Y)methodInfo.Invoke(null, new object[] { x });
return result;
}
public Action<X> ConvertLambaStringToMethodInfo<X>(string text, List<string> usingStatements = null)
{
string code = surroundLambaWithFakeClass<X>(text, usingStatements);
MethodInfo methodInfo = compileStringToMethodInfo(code);
return x => methodInfo.Invoke(null, new object[] { x });
}
public static string EscapeToProtectFromCodeInjection(string searchText)
{
return "\"" + searchText.Replace("\\", "\\\\").Replace("\"", "\\\"") + "\"";
}
}
}
</pre><br />
Here's how to use it:<br />
<pre class="brush:csharp"> Func<string, IEnumerable<string>> stringSplitFunction = Compiler.ConvertLambaStringToMethodInfo<String, IEnumerable<String>>("x => x.Split(new string[] { \",\" }, StringSplitOptions.RemoveEmptyEntries).AsEnumerable()");
IEnumerable<string> result = stringSplitFunction("val1,val2");
</pre>Devin Garnerhttp://www.blogger.com/profile/13552913653762969903noreply@blogger.com0tag:blogger.com,1999:blog-6769826190887609117.post-59047774405382822812011-06-15T13:44:00.000-06:002011-06-15T13:44:45.414-06:00Mutation Testing in C#I found a cool tool today for doing mutation testing in C#. Basically, it runs your unit tests to analyze your code coverage, then it purposefully modifies the sections of your code that are covered, to see if the tests will still pass. The theory is, if the tests pass, then even though you have coverage, you're not asserting the right things. So, it helps you analyze the quality of your unit tests.<br />
Check it out here: <a href="http://galera.ii.pw.edu.pl/~adr/CREAM/index.php">http://galera.ii.pw.edu.pl/~adr/CREAM/index.php</a>Devin Garnerhttp://www.blogger.com/profile/13552913653762969903noreply@blogger.com0tag:blogger.com,1999:blog-6769826190887609117.post-30353422771864704792011-06-11T20:12:00.001-06:002011-06-29T21:41:06.376-06:00Linq Recursive ExtensionsHere are some extension methods to allow you to recurse through a class hierarchy:<br />
<pre class="brush:csharp"> public static class LinqExtensions
{
public static IEnumerable<T> Recurse<T>(this T source, Func<T, IEnumerable<T>> getChildren) where T : class
{
if (source == null)
return new List<T>();
List<T> result = getChildren(source).Recurse<T>(getChildren).ToList();
result.Insert(0, source);
return result;
}
public static IEnumerable<T> Recurse<T>(this T source, Func<T, T> getChild) where T : class
{
if (source != null)
yield return source;
T child = getChild(source);
while (child != null)
{
yield return child;
child = getChild(child);
}
}
public static IEnumerable<T> Recurse<T>(this IEnumerable<T> source, Func<T, T> getChild) where T : class
{
List<T> result = new List<T>();
if (source != null)
{
foreach (T child in source)
result.AddRange(child.Recurse<T>(getChild));
}
return result;
}
public static IEnumerable<T> Recurse<T>(this IEnumerable<T> source, Func<T, IEnumerable<T>> getChildren) where T : class
{
if (source != null)
{
foreach (T child in source)
{
if (child != null)
yield return child;
IEnumerable<T> subChildren = getChildren(child);
if (subChildren != null)
{
foreach (T subChild in subChildren.Recurse<T>(getChildren))
{
if (subChild != null)
yield return subChild;
}
}
}
}
}
}
</pre><br />
Here's an example of how to use them:<br />
<pre class="brush:csharp"> public class Node
{
public List<Node> Children = new List<Node>();
}
Node parent = new Node();
IEnumerable<Node> children = parent.Recurse(x => x.Children);
</pre>Devin Garnerhttp://www.blogger.com/profile/13552913653762969903noreply@blogger.com0tag:blogger.com,1999:blog-6769826190887609117.post-34147700000030866372011-06-11T06:47:00.004-06:002011-06-11T07:22:24.253-06:00Lambda Equality Comparer Extension MethodHere's an extension method that will convert a lambda to an equality comparer:<br />
<pre class="brush:csharp">public static class FuncExtension
{
private class GenericComparer<T> : EqualityComparer<T>
{
private readonly Func<T, T, bool> _lambda;
private readonly bool _passThroughNulls;
public GenericComparer(Func<T, T, bool> lambda, bool passThroughNulls)
{
_lambda = lambda; _passThroughNulls = passThroughNulls;
}
public override bool Equals(T x, T y)
{
if (!_passThroughNulls)
{
if (System.Object.Equals(x, default(T)) || System.Object.Equals(y, default(T)))
{
return System.Object.Equals(x, default(T)) && System.Object.Equals(y, default(T));
}
}
return _lambda(x, y);
}
public override int GetHashCode(T obj)
{
return 0;
}
}
public static IEqualityComparer<T> ToEqualityComparer<T>(this Func<T, T, bool> lambda, bool passThroughNulls = false)
{
return new GenericComparer<T>(lambda, passThroughNulls);
}
}
</pre><br />
Here's an example of how to use it:<br />
<pre class="brush:csharp">Func<SomeClass, SomeClass, bool> compareFunction = (x, y) => x.SomeProperty == y.SomeProperty && x.SomeProperty2 == y.SomeProperty2;
EqualityComparer<SomeClass> comparer = compareFunction.ToEqualityComparer();
</pre>Devin Garnerhttp://www.blogger.com/profile/13552913653762969903noreply@blogger.com0tag:blogger.com,1999:blog-6769826190887609117.post-25355042825976463262011-06-11T06:44:00.000-06:002011-06-11T06:44:14.898-06:00TF14098: Access Denied creating branch<div>When creating a branch from main to release you may get an error like this:</div><div> </div><div>Branch from Main</div><div> </div><div>TF14098: Access Denied: User CTAC\dgarner needs Read permissions(s)</div><div>for $/RxInfoInquiry/Main/*.</div><div> </div><div> </div><div>Even though you're able to get latest on main & build/run the app, there is some random file/folder underneath the main branch that you don't have permissions to. This is causing you to not be able to make a new release branch.</div><div> </div><div> </div><div>You'll need to find the file & add read permissions to [DefaultCollection]\Contributors (assuming you're a developer & in that group).</div><div> </div><div> </div><div>There is a command-line utility called "TF" that you can use to interact with TFS. You can access it through the</div><div>"<span style="font-size: xx-small;">Visual Studio Command Prompt" found on your start menu.</span></div><div> </div><div><span style="font-size: xx-small;"> </span><div><span style="font-size: xx-small;">To find the problem file, you'll need to recurse through all the items in the project & check their permissions.</span></div><div><span style="font-size: xx-small;"> </span></div><div><span style="font-size: xx-small;"><span style="font-size: xx-small;"> </span></span></div><div><span style="font-size: xx-small;"><span style="font-size: xx-small;">An explanation can be found at: <span style="font-family: 'Calibri','sans-serif'; font-size: 11pt;"><a href="http://msdn.microsoft.com/en-us/library/0dsd05ft.aspx"><span style="color: blue;">http://msdn.microsoft.com/en-us/library/0dsd05ft.aspx</span></a></span></span></span></div><div><span style="font-size: xx-small;"><span style="font-size: xx-small;"><span style="font-family: 'Calibri','sans-serif'; font-size: 11pt;"></span></span> </span></div><div><span style="font-size: xx-small;"> </span></div><div><span style="font-size: xx-small;">Here's the basic steps I used. The program I had an issue with was RxInfoInquiry.</span></div><div> </div><div><span style="font-size: xx-small;">This will tell you the permissions of each folder in your project:</span></div><div><span style="font-size: xx-small;">tf permission c:\source\RxInfoInquiry /recursive > allPermissions.txt</span></div></div><div><span style="font-size: xx-small;">I then opened the file in an editor supporting regex's & I searched for any folder where Contributors didn't have read permissions.</span></div><div><span style="font-size: xx-small;"> </span></div><div> <div><span style="font-size: xx-small;"><span style="font-size: xx-small;">Once the file is found & the read permissions have been granted, you should be able to create the new release branch.</span></span></div><div><span style="font-size: xx-small;"> </span></div></div><div> <div><span style="font-size: xx-small;"><span style="font-size: xx-small;">If you're unlucky & it's a file, rather than a whole folder with the missing permissions, you'll need to check individual files instead of folders.</span></span></div><div><span style="font-size: xx-small;"><span style="font-size: xx-small;">To get a list of all items in the project:</span></span></div><div><span style="font-size: xx-small;"><span style="font-size: xx-small;">tf dir c:\source\RxInfoInquiry /recursive > c:\temp\allFiles.txt</span></span></div><div><span style="font-size: xx-small;"><span style="font-size: xx-small;"> </span></span></div><div><span style="font-size: xx-small;"><span style="font-size: xx-small;">You could take this list & convert each filename to a "tf permission" command & run it as a batch file. Then, search for the file with the missing permissions.</span></span></div><div><span style="font-size: xx-small;"><span style="font-size: xx-small;"> </span></span></div></div>Devin Garnerhttp://www.blogger.com/profile/13552913653762969903noreply@blogger.com0tag:blogger.com,1999:blog-6769826190887609117.post-8941290235249889432011-06-11T06:42:00.000-06:002011-06-11T06:42:35.570-06:00VS Setup Project - 401: Unable to update the dependencies of the project<table cellpadding="0" cellspacing="0" height="100%"><tbody>
<tr> <td> </td> <td class="ms-bodyareacell" valign="top"> <table border="0" cellpadding="0" cellspacing="0" class="ms-propertysheet" height="100%" id="MSO_ContentTable"><tbody>
<tr> <td class="ms-bodyareaframe" height="100%" valign="top"><a href="" name="mainContent"></a> <div class="ms-wikicontent"> <div class="ExternalClass5D449B09019A4CC782A852050FB5B432"> <div>There is a bug in VS2010 that causes setup projects to not compile sometimes.</div><div> </div><div> </div><div>An example error message you might get is: " 401: Unable to update the dependencies of the project. "</div><div> </div><div>The following patch should correct the problem.</div><div><br />
<a href="http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=30681">http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=30681</a></div></div></div></td></tr>
</tbody></table></td></tr>
</tbody></table>Devin Garnerhttp://www.blogger.com/profile/13552913653762969903noreply@blogger.com0tag:blogger.com,1999:blog-6769826190887609117.post-38644485572760785942011-06-11T06:37:00.003-06:002011-06-11T06:39:54.491-06:00Find Memory Leaks or Infinite Loops From a Memory Dump with WinDBG<div>If you have a memory leak or infinite loop on production that you don't know how to reproduce easily on your development box, it's easy to investigate by analyzing a memory dump of the application running in production. If you can reproduce it on your development box, it's easier to use a profiling tool like JetBrains dotTrace or RedGate Ants Profiler.</div><div></div><div></div><div></div><div><u><b>Capture a memory dump</b></u></div><u><b> </b></u> <br />
<div>#1 -> Reproduce the problem on any machine</div><div>#2 -> Get a memory dump of the program while experiencing the problem</div><div>2a) Open Task Manager</div><div>2b) Find program in processes tab. Pay special attention to if the process name has a "*32", meaning 32-bit process</div><div>2c) Right click on process & choose create dump file</div><div>2d) A pop up window will show you where the memory dump was saved (usually C:\Users\#User#\AppData\Local\Temp\)</div><div>#3 -> Copy the memory dump to your development machine.</div><div></div><div></div><div></div><div><u><b>Analyze a memory dump</b></u></div><div>#1 -> Install WinDBG. (<a href="http://msdn.microsoft.com/en-us/windows/hardware/gg463009">http://msdn.microsoft.com/en-us/windows/hardware/gg463009</a>)</div><div>1a) When installing, check all the boxes for a full install, otherwise you won't get both the 32 & 64 bit versions.</div><div>1b) After installing, open this folder (<span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;">C:\Program Files\Microsoft SDKs\Windows\v7.1\Redist\Debugging Tools for Windows\</span></span>)</div><div>1c) Install both the <span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;">dbg_x86.msi & <span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;">dbg_amd64.msi files. (one of them will probably already be installed, based on your type of cpu, but you need both)</span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;">#2 -> Open the version (32 or 64 bit) of WinDbg that matches the type of memory dump you have. If the task manager process name had "*32", you'll need 32-bit WinDbg.</span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> 2a) C:\Program Files\Debugging Tools for Windows (x64)\windbg.exe (64-bit)</span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> 2b) C:\Program Files (x86)\Debugging Tools for Windows (x86)\windbg.exe (32-bit)</span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;">#3 -> In WinDbg select File/Open Crash Dump from the menu.</span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;">#4 -> Open the memory dump .DMP file you created from the task manager</span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;">#5 -> Find out which version of the .NET Framework the program for your crash dump runs on. [3/3.5 are extensions of 2]</span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;">#6 -> Find the directory for the correct version of the .NET Framework on your computer (including 32/64 bit).</span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> 6a) C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319</span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> 6b) C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319</span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> </span></span></span></span><br />
<div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> 6c) C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727</span></span></span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> 6d) C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;">#7 -> Type the following commands to load the .NET Debugging extension SOS into WinDbg</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> 7a) .exepath+ C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ (use the path for the .NET Framework directory corresponding to your app)</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> 7b) lmv m clr (this loads the clr dll, which is the core of the .net framework)</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> Note: If you get an error, you can try this alternative .load c:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> 7c) .loadby sos clr</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> Note: If you get an error, you can try this alternative .load c:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos.dll</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> </span></span></span></span></span></span><br />
<div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> 7d) .loadby mscordacwks clr</span></span></span></span></span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> Note: If you get an error, you can try this alternative .load c:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscordacwks.dll</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;">#8 -> You should now be setup to analyze the dump file. Here are a few helpful commands:</span></span></span></span></span></span></div><div><br />
<span style="color: #333333;"><span style="font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;"><b>Useful Commands</b></span></span></div><div><span style="color: #333333;"><span style="font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;"><u>Investigate Memory Leak</u></span></span><br />
<u><b><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"></span></span></span></span></span></span></b></u></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><u><b> </b></u>!dumpheap -stat</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> !dumpheap -mt <string MT> (shows addresses of all strings, you can use whatever datatype is using all the memory)</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> !do 02ebf628 (the # should be the memory address of the object you want to view)</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> !gcroot 02ebf628 (find the containing class for the object at # memory address)</span></span></span></span><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> </span></span></span></span></span></span></div><div><br />
<span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><u>Investigate High CPU</u></span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> !threads</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> ~5s (change context to thread id 5)</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> kb 2000<br />
!clrstack</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> !threadpool </span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> !runaway</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> ~* kb 2000</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> ~* e !clrstack</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> !pe (show current exception on thread)</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> !dso (print objects on stack)</span></span></span></span><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"> </span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"></span></span></span></span> </span></span></div><div></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;">You can try these random commands, but the </span></span></span></span><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;">best thing is to follow the walkthrough on the following blog that matches the scenario you're experiencing:</span></span></span></span></span></span></div><div><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font: 16px 'Times New Roman'; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif; font-size: 13px; line-height: 16px; text-align: left;"><a href="http://blogs.msdn.com/b/tess/archive/2008/02/04/net-debugging-demos-information-and-setup-instructions.aspx">http://blogs.msdn.com/b/tess/archive/2008/02/04/net-debugging-demos-information-and-setup-instructions.aspx</a></span></span></span></span></span></span></div></div></div>Devin Garnerhttp://www.blogger.com/profile/13552913653762969903noreply@blogger.com0