<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_魔幻☆天空</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/18584/rss</id><updated>2012-02-09T02:28:33Z</updated><author><name>魔幻天空</name><uri>http://www.cnblogs.com/Magicsky/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Magicsky/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/18584/rss"/><entry><id>http://www.cnblogs.com/Magicsky/archive/2012/02/08/2342806.html</id><title type="text">作业调度框架 Quartz.NET 2.0  StepByStep（2）</title><summary type="text">通过上一篇文章，相信大家对Quartz.Net有了基本的了解，并可以建立最简单的服务了。本篇将着重讲解其中的Trigger，也就是如何设定服务的触发条件。按照情景，我在工作中一般会遇到以下几种情景1.服务开始时执行 这个Trigger我们在上篇的实例中已经使用过，话不多说，直接上代码ITrigger trigger = TriggerBuilder.Create().StartNow().Build()2.在指定时间间隔内轮询执行 利用框架中自带的SimpleTriggerImpl，就能轻松实现这类型触发器构造，下面列出常用的几个构造重载:SimpleTriggerImpl(string na</summary><published>2012-02-08T07:45:00Z</published><updated>2012-02-08T07:45:00Z</updated><author><name>魔幻天空</name><uri>http://www.cnblogs.com/Magicsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Magicsky/archive/2012/02/08/2342806.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Magicsky/archive/2012/02/08/2342806.html"/><content type="html">&lt;p&gt;通过&lt;a title="作业调度框架 Quartz.NET 2.0 StepByStep" href="http://www.cnblogs.com/Magicsky/archive/2012/02/07/2341637.html" target="_blank"&gt;上一篇文章&lt;/a&gt;，相信大家对Quartz.Net有了基本的了解，并可以建立最简单的服务了。本篇将着重讲解其中的Trigger，也就是如何设定服务的触发条件。&lt;/p&gt;&#xD;
&lt;p&gt;按照情景，我在工作中一般会遇到以下几种情景&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;1.服务开始时执行&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;这个Trigger我们在上篇的实例中已经使用过，话不多说，直接上代码&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;ITrigger trigger = TriggerBuilder.Create().StartNow().Build()&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;strong&gt;2.在指定时间间隔内轮询执行&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;利用框架中自带的SimpleTriggerImpl，就能轻松实现这类型触发器构造，下面列出常用的几个构造重载:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;SimpleTriggerImpl(string name, int repeatCount, TimeSpan repeatInterval)&lt;/li&gt;&#xD;
&lt;li&gt;SimpleTriggerImpl(string name, DateTimeOffset startTimeUtc, DateTimeOffset? endTimeUtc, int repeatCount, TimeSpan repeatInterval)&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p align="left"&gt;例如：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('9968cb2a-db55-4d83-b7f0-e2c61e7dc5e5')"&gt;&#xD;
&lt;div id="cnblogs_code_open_9968cb2a-db55-4d83-b7f0-e2c61e7dc5e5" &gt;&#xD;
&lt;pre&gt;    SimpleTriggerImpl(&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; name, &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; repeatCount, TimeSpan repeatInterval)&lt;br /&gt;    SimpleTriggerImpl(&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; name, DateTimeOffset startTimeUtc,&lt;br /&gt;            DateTimeOffset? endTimeUtc, &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; repeatCount, TimeSpan repeatInterval)&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p align="left"&gt;这个触发器的含义是，开始时间为立即开始（需要UTCNOW）+结束时间无+重复次数1（注意是重复次数JOB会执行两次）+轮询间隔10秒&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;3.日轮询执行&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;利用框架中自带的DailyTimeIntervalTriggerImpl，就能轻松实现这类型触发器构造，下面列出常用的几个构造重载:&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;DailyTimeIntervalTriggerImpl(String name, TimeOfDay startTimeOfDayUtc, TimeOfDay endTimeOfDayUtc, IntervalUnit intervalUnit, int repeatInterval)&lt;/li&gt;&#xD;
&lt;li&gt;DailyTimeIntervalTriggerImpl(string name, DateTimeOffset startTimeUtc,DateTimeOffset? endTimeUtc, TimeOfDay startTimeOfDayUtc, TimeOfDay endTimeOfDayUtc, IntervalUnit intervalUnit, int repeatInterval)&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p align="left"&gt;例如：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('c9114725-ebc5-4fac-b8c1-3d3b104b594a')"&gt;&#xD;
&lt;div id="cnblogs_code_open_c9114725-ebc5-4fac-b8c1-3d3b104b594a" &gt;&#xD;
&lt;pre&gt;DailyTimeIntervalTriggerImpl trigger = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; DailyTimeIntervalTriggerImpl(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;DailyTimeIntervalTrigger&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;,DateTimeOffset.UtcNow,&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; TimeOfDay(&lt;span style="color: #800080;"&gt;1&lt;/span&gt;, &lt;span style="color: #800080;"&gt;0&lt;/span&gt;, &lt;span style="color: #800080;"&gt;0&lt;/span&gt;), &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; TimeOfDay(&lt;span style="color: #800080;"&gt;22&lt;/span&gt;, &lt;span style="color: #800080;"&gt;01&lt;/span&gt;, &lt;span style="color: #800080;"&gt;00&lt;/span&gt;), IntervalUnit.Minute, &lt;span style="color: #800080;"&gt;1&lt;/span&gt;);&lt;br /&gt;  trigger.DaysOfWeek.Add(DayOfWeek.Monday);&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;这个触发器的含义是，开始时间为立即开始（需要UTCNOW）+结束时间无+每天凌晨1点开始每天22:01分结束+每分钟轮询+重复次数1+仅每周一执行&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;4.复杂的时间设定&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;如果想构建有如SqlServerJob设置般灵活的时间设定，那么就需要用到CronTriggerImpl这个类了，使用方法很简单，直接在构造里放入Cron表达式即可&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;ITrigger trigger = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; CronTriggerImpl(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;CronTrigger&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;TriggerGroup1&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;0 0 12 * * ?&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;这个触发器的含义是，每天中午12点执行&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 13px;"&gt;&lt;strong&gt;&amp;nbsp; 注：这部分小弟未曾深入了解，加之这部分API也没有修改，就不班门弄斧了。请自行搜索Cron表达式/Cron expression&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Magicsky/aggbug/2342806.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Magicsky/archive/2012/02/08/2342806.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Magicsky/archive/2012/02/07/2341637.html</id><title type="text">作业调度框架 Quartz.NET 2.0  StepByStep</title><summary type="text">注：目前网上诸多介绍Quartz.net的文章，甚至Quartz.net官网上的Tutorial都是1.0版本的，而这个项目在2.0版本对项目进行了比较大规模的修改，使得原有的很多例子都不能运行，故写此文。由于本人是边学边用，加之技术写作水平皆有限，错误自然难免，望轻拍，我将不定时更新完善此贴，希望能为需要的朋友提供帮助。1. 项目介绍 现今的系统，业务数据是越来越大，传统的同步处理方式有时候已经不能满足用户需求，定时后台服务这种异步数据处理形式则逐渐被大家接受。相信大家在平时的工作中也经常遇到数据同步，或是定时邮件，短信提醒等需求，Quartz.net（官网 http://quartznet</summary><published>2012-02-07T08:44:00Z</published><updated>2012-02-07T08:44:00Z</updated><author><name>魔幻天空</name><uri>http://www.cnblogs.com/Magicsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Magicsky/archive/2012/02/07/2341637.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Magicsky/archive/2012/02/07/2341637.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 13px;"&gt;&lt;strong&gt;注&lt;/strong&gt;&lt;strong&gt;：目前网上诸多介绍&lt;/strong&gt;&lt;strong&gt;Quartz.net&lt;/strong&gt;&lt;strong&gt;的文章，甚至&lt;/strong&gt;&lt;strong&gt;Quartz.net&lt;/strong&gt;&lt;strong&gt;官网上的&lt;/strong&gt;&lt;strong&gt;Tutorial&lt;/strong&gt;&lt;strong&gt;都是&lt;/strong&gt;&lt;strong&gt;1.0&lt;/strong&gt;&lt;strong&gt;版本的，而这个项目在&lt;/strong&gt;&lt;strong&gt;2.0&lt;/strong&gt;&lt;strong&gt;版本对项目进行了比较大规模的修改，使得原有的很多例子都不能运行，故写此文。由于本人是边学边用，加之技术写作水平皆有限，错误自然难免，望轻拍，我将不定时更新完善此贴，希望能为需要的朋友提供帮助。&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div&gt;&lt;strong&gt;1. 项目介绍&lt;/strong&gt;&lt;/div&gt;&#xD;
&lt;p&gt;现今的系统，业务数据是越来越大，传统的同步处理方式有时候已经不能满足用户需求，定时后台服务这种异步数据处理形式则逐渐被大家接受。相信大家在平时的工作中也经常遇到数据同步，或是定时邮件，短信提醒等需求，Quartz.net（官网 &lt;a href="http://quartznet.sourceforge.net/"&gt;http://quartznet.sourceforge.net/&lt;/a&gt;）可以很好满足对多个windows服务的管理及监控，同时在保证开发简单的情况下不失灵活，是非常优秀的作业调度框架。&lt;/p&gt;&#xD;
&lt;p&gt;和其他绝大多数开源项目一样Quartz.net也包含了其他几个优秀的开源项目:&lt;/p&gt;&#xD;
&lt;p&gt;核心&amp;nbsp;&amp;nbsp; ----Common.Logging（通用日志接口）&lt;/p&gt;&#xD;
&lt;p&gt;----C5（泛型集合类）&lt;/p&gt;&#xD;
&lt;p&gt;示例程序&lt;/p&gt;&#xD;
&lt;p&gt;----log4net（日志记录-通用日志接口实现）&lt;/p&gt;&#xD;
&lt;p&gt;----topshelf（跨平台服务宿主程序）&lt;/p&gt;&#xD;
&lt;p&gt;Quartz.net使用的许可是Apache License，商业友好，使用者可以修改源码用于开源或商业项目，只需包含许可及修改说明。&lt;/p&gt;&#xD;
&lt;div&gt;&lt;strong&gt;2. Quartz.net开发思路&lt;/strong&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/strong&gt;我们来了解下Quartz.net中常用的几个概念：&lt;/div&gt;&#xD;
&lt;p&gt;Scheduler &amp;nbsp;---------主调度程序 --------- Quartz核心&lt;/p&gt;&#xD;
&lt;p&gt;Job&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ---------作业 &amp;nbsp;--------- 服务要做的（业务操作）&lt;/p&gt;&#xD;
&lt;p&gt;Trigger&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ---------触发器 &amp;nbsp;--------- 服务执行条件（何时执行操作）&lt;/p&gt;&#xD;
&lt;p&gt;Listener&amp;nbsp;&amp;nbsp;&amp;nbsp; ---------事件监听器 &amp;nbsp;--------- 执行期事件（Job执行前后/ Scheduler启动终止暂停时应该做什么，可以挂一些特定事件）&lt;/p&gt;&#xD;
&lt;p&gt;了解了这些概念之后，我们就可以组合这些概念并整理出开发的思路：&lt;/p&gt;&#xD;
&lt;p&gt;先利用SchedulerFactory构建一个Scheduler，启动Scheduler，之后构建Job和Trigger，若有作业监听需求，在Listener上添加相应的处理程序，再将Job和Trigger关联后放入Scheduler&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;3. Quartz.net&lt;span style="font-family: 宋体; font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;的简单使用&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1. 新建一个控制台程序，引用Quartz.dll和Common.Logging.dll&lt;/p&gt;&#xD;
&lt;p&gt;2.&amp;nbsp;新建一个类，命名为SampleJob，继承并实现接口Quartz.IJob&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('651f859d-61dc-4119-812f-d28fae258835')"&gt;&#xD;
&lt;div id="cnblogs_code_open_651f859d-61dc-4119-812f-d28fae258835" &gt;&#xD;
&lt;pre&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; SampleJob : IJob&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; Execute(IJobExecutionContext context)&lt;br /&gt;        {&lt;br /&gt;            File.AppendAllText(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;C:\\Quartz.txt&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SampleJob Is Run&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;br /&gt;            File.AppendAllText(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;C:\\Quartz.txt&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, Environment.NewLine);  &lt;br /&gt;        }&lt;br /&gt;    }&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;&lt;span style="font-family: Verdana;"&gt;&amp;nbsp; 3.在Program.cs的main方法中写如下代码后运行这个控制台会程序会发现已经SampleJob中的Execute方法已经执行&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('a430cc47-b214-4e10-b9b8-6f876be4a8c4')"&gt;&#xD;
&lt;div id="cnblogs_code_open_a430cc47-b214-4e10-b9b8-6f876be4a8c4" &gt;&#xD;
&lt;pre&gt;ISchedulerFactory  factory = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; StdSchedulerFactory();&lt;br /&gt;            IScheduler scheduler = factory.GetScheduler();&lt;br /&gt;            scheduler.Start();&lt;br /&gt;            IJobDetail job = JobBuilder.Create&amp;lt;SampleJob&amp;gt;().WithIdentity(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SampleJob&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;JobGroup1&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;).Build();&lt;br /&gt;            ITrigger trigger = TriggerBuilder.Create().StartNow().Build();&lt;br /&gt;            scheduler.ScheduleJob(job, trigger);&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 宋体; font-size: 10.5pt; mso-ascii-font-family: Calibri; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;4. 使用topshelf创建WINDOWS服务&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 13px;"&gt;&lt;strong&gt;注&lt;/strong&gt;&lt;strong&gt;：&lt;strong&gt;此部分张善友同学已经写过 （&lt;strong&gt;&lt;a href="http://www.cnblogs.com/shanyou/archive/2011/05/04/2037008.html"&gt;http://www.cnblogs.com/shanyou/archive/2011/05/04/2037008.html&lt;/a&gt;&lt;/strong&gt;）,此节为保证思路连贯，简单介绍并引用部分代码&lt;/strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;也许有的网友会疑问，以控制台程序作为服务宿主还没有意义的，这时轮到Topshelf出场了， 使用它可以很方便的构建跨平台服务寄主，而在调试时直接以控制台的形式运行即可，非常方便。 我们引入topshelf.dll及 log4net.dll(topshelf需要),将之前main中代码放到服务类里，把main方法变为Host构建&lt;/p&gt;&#xD;
&lt;p&gt;服务类代码:&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('19f684fc-55c4-4a34-b420-997af059e5ff')"&gt;&#xD;
&lt;div id="cnblogs_code_open_19f684fc-55c4-4a34-b420-997af059e5ff" &gt;&#xD;
&lt;pre&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; SampleService&lt;br /&gt;    {&lt;br /&gt;        ISchedulerFactory factory;&lt;br /&gt;        IScheduler scheduler;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; Start()&lt;br /&gt;        {&lt;br /&gt;            File.AppendAllText(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;C:\\Quartz.txt&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SampleService Is Run&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;br /&gt;            File.AppendAllText(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;C:\\Quartz.txt&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, Environment.NewLine);&lt;br /&gt;            factory = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; StdSchedulerFactory();&lt;br /&gt;            scheduler = factory.GetScheduler();&lt;br /&gt;            scheduler.Start();&lt;br /&gt;            IJobDetail job = JobBuilder.Create&amp;lt;SampleJob&amp;gt;().WithIdentity(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SampleJob&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;JobGroup1&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;).Build();&lt;br /&gt;            ITrigger trigger = TriggerBuilder.Create().StartNow().Build();          &lt;br /&gt;            scheduler.ScheduleJob(job, trigger);&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; Stop()&lt;br /&gt;        {&lt;br /&gt;            scheduler.Clear();&lt;br /&gt;            File.AppendAllText(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;C:\\Quartz.txt&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SampleService Is Stop&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;br /&gt;            File.AppendAllText(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;C:\\Quartz.txt&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, Environment.NewLine);&lt;br /&gt;        }&lt;br /&gt;    }&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;修改后的Main代码&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('8fdb8c8a-7c7d-4218-a58f-f812eb188616')"&gt;&#xD;
&lt;div id="cnblogs_code_open_8fdb8c8a-7c7d-4218-a58f-f812eb188616" &gt;&#xD;
&lt;pre&gt;&lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; Main(&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; host = HostFactory.New(x =&amp;gt;&lt;br /&gt;            {&lt;br /&gt;                x.EnableDashboard(); x.Service&amp;lt;SampleService&amp;gt;(s =&amp;gt;&lt;br /&gt;{&lt;br /&gt;    s.SetServiceName(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SampleService&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;); s.ConstructUsing(name =&amp;gt; &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; SampleService());&lt;br /&gt;    s.WhenStarted(tc =&amp;gt; { tc.Start(); });&lt;br /&gt;    s.WhenStopped(tc =&amp;gt; tc.Stop());&lt;br /&gt;});&lt;br /&gt;                x.RunAsLocalSystem();&lt;br /&gt;                x.SetDescription(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SampleService Description&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;br /&gt;                x.SetDisplayName(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SampleService&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;br /&gt;                x.SetServiceName(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;SampleService&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;br /&gt;            });&lt;br /&gt;            host.Run();&lt;br /&gt;&lt;br /&gt;        }&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;编译后，cmd进到exe所在目录，并执行"项目名.exe install/uninstall" 完成服务的安装与卸载&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Magicsky/aggbug/2341637.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Magicsky/archive/2012/02/07/2341637.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Magicsky/archive/2011/06/30/2094790.html</id><title type="text">单机安装“完整”SharePoint 2010</title><summary type="text">最近有个机会学习下Sharepoint2010，之前用过2007，所以安装时也没有遇到什么障碍，安装后发现和之前不同的是，并没有配置数据库服务器，后来查到SharePointServer2010可以安装“独立”或“完整”两种版本，“独立版本”的安装模式将自行安装并使用SQL2008EXPRESS版本的数据库，体验版数据库最大4G的容量显然不是我们想要的，若想使用正式版的SQLSERVER作为存储，又没有域环境，希望利用工作组环境进行场的配置，需要进行以下操作：1. 安装结束后，不要立即运行向导，而是通过SharePoint 2010 Management Shell，耐心等待一会儿，会有无法连</summary><published>2011-06-30T08:43:00Z</published><updated>2011-06-30T08:43:00Z</updated><author><name>魔幻天空</name><uri>http://www.cnblogs.com/Magicsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Magicsky/archive/2011/06/30/2094790.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Magicsky/archive/2011/06/30/2094790.html"/><content type="html">&lt;div&gt;最近有个机会学习下Sharepoint2010，之前用过2007，所以安装时也没有遇到什么障碍，安装后发现和之前不同的是，并没有配置数据库服务器，后来查到SharePointServer2010可以安装&amp;ldquo;独立&amp;rdquo;或&amp;ldquo;完整&amp;rdquo;两种版本，&amp;ldquo;独立版本&amp;rdquo;的安装模式将自行安装并使用SQL2008EXPRESS版本的数据库，体验版数据库最大4G的容量显然不是我们想要的，若想使用正式版的SQLSERVER作为存储，又没有域环境，希望利用工作组环境进行场的配置，需要进行以下操作：&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;1. 安装结束后，不要立即运行向导，而是通过SharePoint 2010 Management Shell，耐心等待一会儿，会有无法连接到场的提示，&lt;/div&gt;&#xD;
&lt;div&gt;2. 输入命令New-SPConfigurationDatabase，配置数据库名(DatabaseName)，数据库服务器(DatabaseServer)，待弹出认证窗口输入完整用户名（机器名/用户名），密码，回到控制台确认密码（Passphrase），继续耐心等待&lt;/div&gt;&#xD;
&lt;div&gt;3. 执行结束后，运行&amp;ldquo;配置向导&amp;rdquo;，一路NEXT即可。&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/Magicsky/aggbug/2094790.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Magicsky/archive/2011/06/30/2094790.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Magicsky/archive/2010/09/19/1830962.html</id><title type="text">WinDbg / SOS Cheat Sheet</title><summary type="text">原文地址：http://kentb.blogspot.com/2007/11/windbg-sos-cheat-sheet.html WinDbg / SOS Cheat Sheet Environment Attach to process  F6 Detach from a process  .detach Break debugger execution  Ctrl-Break Contin...</summary><published>2010-09-19T05:27:00Z</published><updated>2010-09-19T05:27:00Z</updated><author><name>魔幻天空</name><uri>http://www.cnblogs.com/Magicsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Magicsky/archive/2010/09/19/1830962.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Magicsky/archive/2010/09/19/1830962.html"/><content type="html">&lt;br&gt;原文地址：&lt;br&gt;http://kentb.blogspot.com/2007/11/windbg-sos-cheat-sheet.html&lt;br&gt;&lt;br&gt;   &lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CDENGSH%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5CDENGSH%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CDENGSH%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt; &lt;style&gt;&#xD;
&lt;!--&#xD;
 /* Font Definitions */&#xD;
 @font-face&#xD;
	{font-family:宋体;&#xD;
	panose-1:2 1 6 0 3 1 1 1 1 1;&#xD;
	mso-font-alt:simsun;&#xD;
	mso-font-charset:134;&#xD;
	mso-generic-font-family:auto;&#xD;
	mso-font-pitch:variable;&#xD;
	mso-font-signature:3 135135232 16 0 262145 0;}&#xD;
@font-face&#xD;
	{font-family:"Cambria Math";&#xD;
	panose-1:2 4 5 3 5 4 6 3 2 4;&#xD;
	mso-font-charset:0;&#xD;
	mso-generic-font-family:roman;&#xD;
	mso-font-pitch:variable;&#xD;
	mso-font-signature:-1610611985 1107304683 0 0 159 0;}&#xD;
@font-face&#xD;
	{font-family:cambria;&#xD;
	panose-1:2 4 5 3 5 4 6 3 2 4;&#xD;
	mso-font-charset:0;&#xD;
	mso-generic-font-family:roman;&#xD;
	mso-font-pitch:variable;&#xD;
	mso-font-signature:-1610611985 1073741899 0 0 159 0;}&#xD;
@font-face&#xD;
	{font-family:calibri;&#xD;
	panose-1:2 15 5 2 2 2 4 3 2 4;&#xD;
	mso-font-charset:0;&#xD;
	mso-generic-font-family:swiss;&#xD;
	mso-font-pitch:variable;&#xD;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}&#xD;
@font-face&#xD;
	{font-family:"\@宋体";&#xD;
	panose-1:2 1 6 0 3 1 1 1 1 1;&#xD;
	mso-font-charset:134;&#xD;
	mso-generic-font-family:auto;&#xD;
	mso-font-pitch:variable;&#xD;
	mso-font-signature:3 135135232 16 0 262145 0;}&#xD;
@font-face&#xD;
	{font-family:consolas;&#xD;
	panose-1:2 11 6 9 2 2 4 3 2 4;&#xD;
	mso-font-charset:0;&#xD;
	mso-generic-font-family:modern;&#xD;
	mso-font-pitch:fixed;&#xD;
	mso-font-signature:-1610611985 1073750091 0 0 159 0;}&#xD;
 /* Style Definitions */&#xD;
 p.msonormal, li.msonormal, div.msonormal&#xD;
	{mso-style-unhide:no;&#xD;
	mso-style-qformat:yes;&#xD;
	mso-style-parent:"";&#xD;
	margin-top:0cm;&#xD;
	margin-right:0cm;&#xD;
	margin-bottom:10.0pt;&#xD;
	margin-left:0cm;&#xD;
	line-height:115%;&#xD;
	mso-pagination:widow-orphan;&#xD;
	font-size:11.0pt;&#xD;
	font-family:"Calibri","sans-serif";&#xD;
	mso-ascii-font-family:calibri;&#xD;
	mso-ascii-theme-font:minor-latin;&#xD;
	mso-fareast-font-family:宋体;&#xD;
	mso-fareast-theme-font:minor-fareast;&#xD;
	mso-hansi-font-family:calibri;&#xD;
	mso-hansi-theme-font:minor-latin;&#xD;
	mso-bidi-font-family:"Times New Roman";&#xD;
	mso-bidi-theme-font:minor-bidi;&#xD;
	mso-fareast-language:en-us;}&#xD;
h1&#xD;
	{mso-style-priority:9;&#xD;
	mso-style-unhide:no;&#xD;
	mso-style-qformat:yes;&#xD;
	mso-style-link:"标题 1 Char";&#xD;
	mso-style-next:正文;&#xD;
	margin-top:0cm;&#xD;
	margin-right:0cm;&#xD;
	margin-bottom:12.0pt;&#xD;
	margin-left:0cm;&#xD;
	line-height:115%;&#xD;
&#xD;
	mso-pagination:widow-orphan lines-together;&#xD;
	page-break-after:avoid;&#xD;
	mso-outline-level:1;&#xD;
	background:#4a442a;&#xD;
	mso-background-themecolor:background2;&#xD;
	mso-background-themeshade:64;&#xD;
	font-size:20.0pt;&#xD;
	mso-bidi-font-size:14.0pt;&#xD;
	font-family:"Cambria","serif";&#xD;
	mso-ascii-font-family:cambria;&#xD;
	mso-ascii-theme-font:major-latin;&#xD;
	mso-fareast-font-family:宋体;&#xD;
	mso-fareast-theme-font:major-fareast;&#xD;
	mso-hansi-font-family:cambria;&#xD;
	mso-hansi-theme-font:major-latin;&#xD;
	mso-bidi-font-family:"Times New Roman";&#xD;
	mso-bidi-theme-font:major-bidi;&#xD;
	color:white;&#xD;
	mso-themecolor:background1;&#xD;
	mso-font-kerning:0pt;&#xD;
	mso-fareast-language:en-us;}&#xD;
span.1char&#xD;
	{mso-style-name:"标题 1 Char";&#xD;
	mso-style-priority:9;&#xD;
	mso-style-unhide:no;&#xD;
	mso-style-locked:yes;&#xD;
	mso-style-link:"标题 1";&#xD;
	mso-ansi-font-size:20.0pt;&#xD;
	mso-bidi-font-size:14.0pt;&#xD;
	font-family:"Cambria","serif";&#xD;
	mso-ascii-font-family:cambria;&#xD;
	mso-ascii-theme-font:major-latin;&#xD;
	mso-fareast-font-family:宋体;&#xD;
	mso-fareast-theme-font:major-fareast;&#xD;
	mso-hansi-font-family:cambria;&#xD;
	mso-hansi-theme-font:major-latin;&#xD;
	mso-bidi-font-family:"Times New Roman";&#xD;
	mso-bidi-theme-font:major-bidi;&#xD;
	color:white;&#xD;
	mso-themecolor:background1;&#xD;
	background:#4a442a;&#xD;
	mso-shading-themecolor:background2;&#xD;
	mso-shading-themeshade:64;&#xD;
	font-weight:bold;}&#xD;
span.command&#xD;
	{mso-style-name:command;&#xD;
	mso-style-priority:1;&#xD;
	mso-style-unhide:no;&#xD;
	mso-style-qformat:yes;&#xD;
	mso-ansi-font-size:11.0pt;&#xD;
	font-family:consolas;&#xD;
	mso-ascii-font-family:consolas;&#xD;
	mso-hansi-font-family:consolas;}&#xD;
span.commandparameter&#xD;
	{mso-style-name:"Command Parameter";&#xD;
	mso-style-priority:1;&#xD;
	mso-style-unhide:no;&#xD;
	mso-style-qformat:yes;&#xD;
	mso-style-parent:command;&#xD;
	mso-ansi-font-size:11.0pt;&#xD;
	font-family:consolas;&#xD;
	mso-ascii-font-family:consolas;&#xD;
	mso-hansi-font-family:consolas;&#xD;
	font-style:italic;&#xD;
	mso-bidi-font-style:normal;}&#xD;
.msochpdefault&#xD;
	{mso-style-type:export-only;&#xD;
	mso-default-props:yes;&#xD;
	font-size:11.0pt;&#xD;
	mso-ansi-font-size:11.0pt;&#xD;
	mso-bidi-font-family:"Times New Roman";&#xD;
	mso-bidi-theme-font:minor-bidi;&#xD;
	mso-font-kerning:0pt;&#xD;
	mso-fareast-language:en-us;}&#xD;
.msopapdefault&#xD;
	{mso-style-type:export-only;&#xD;
	margin-bottom:10.0pt;&#xD;
	line-height:115%;}&#xD;
 /* Page Definitions */&#xD;
 @page&#xD;
	{mso-page-border-surround-header:no;&#xD;
	mso-page-border-surround-footer:no;}&#xD;
@page section1&#xD;
	{size:792.0pt 612.0pt;&#xD;
	mso-page-orientation:landscape;&#xD;
	margin:36.0pt 36.0pt 36.0pt 36.0pt;&#xD;
	mso-header-margin:36.0pt;&#xD;
	mso-footer-margin:36.0pt;&#xD;
	mso-paper-source:0;}&#xD;
div.section1&#xD;
	{page:section1;}&#xD;
@page section2&#xD;
	{size:792.0pt 612.0pt;&#xD;
	mso-page-orientation:landscape;&#xD;
	margin:36.0pt 36.0pt 36.0pt 36.0pt;&#xD;
	mso-header-margin:36.0pt;&#xD;
	mso-footer-margin:36.0pt;&#xD;
	mso-columns:2 even 36.0pt;&#xD;
	mso-paper-source:0;}&#xD;
div.section2&#xD;
	{page:section2;}&#xD;
--&gt;&#xD;
&lt;/style&gt;  &lt;div &gt; &lt;h1 style="text-align: center; margin-left: -4.5pt" align="center"&gt;&lt;span lang="EN-US"&gt;WinDbg / SOS Cheat Sheet&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;b&gt;&lt;span style="line-height: 115%; font-family: 'Cambria','serif'; color: white; font-size: 20pt" lang="EN-US"&gt;&lt;br style="page-break-before: auto" clear="all"&gt;&lt;/span&gt;&lt;/b&gt; &lt;table style="border-bottom: medium none; border-left: medium none; border-collapse: collapse; border-top: medium none; border-right: medium none"  border="1" cellspacing="0" cellpadding="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 347.4pt; padding-right: 5.4pt; background: rgb(74,68,42); border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="463" colspan="2"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;b&gt;&lt;span style="color: white; font-size: 14pt" lang="EN-US"&gt;Environment&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Attach to process&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;F6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Detach from a process&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;.detach&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Break debugge&lt;/span&gt;&lt;span lang="EN-US"&gt;r&lt;/span&gt;&lt;span lang="EN-US"&gt; execution&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Ctrl-Break&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Continue debugge&lt;/span&gt;&lt;span lang="EN-US"&gt;r&lt;/span&gt;&lt;span lang="EN-US"&gt; execution&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;g&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Exit WinDbg&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;q&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: 1pt solid; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Clear the screen&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: 1pt solid; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;.cls&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p style="text-align: justify" &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;table style="border-bottom: medium none; border-left: medium none; border-collapse: collapse; border-top: medium none; border-right: medium none"  border="1" cellspacing="0" cellpadding="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 347.4pt; padding-right: 5.4pt; background: rgb(74,68,42); border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="463" colspan="2"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;b&gt;&lt;span style="color: white; font-size: 14pt" lang="EN-US"&gt;Getting Help&lt;/span&gt;&lt;/b&gt;&lt;span &gt;&lt;b&gt;&lt;span style="color: white" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Debugge&lt;/span&gt;&lt;span lang="EN-US"&gt;r&lt;/span&gt;&lt;span lang="EN-US"&gt; commands&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Debugger commands&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;.help&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Online help file&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;.hh command&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Help on extension on top of chain&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!help&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: 1pt solid; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Help on specific extension command&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: 1pt solid; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!help command&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;table style="border-bottom: medium none; border-left: medium none; border-collapse: collapse; border-top: medium none; border-right: medium none"  border="1" cellspacing="0" cellpadding="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 347.4pt; padding-right: 5.4pt; background: rgb(74,68,42); border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="463" colspan="2"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;b&gt;&lt;span style="color: white; font-size: 14pt" lang="EN-US"&gt;Issuing Commands&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Scroll through command history&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;[up], [down], [enter]&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: 1pt solid; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Paste into command window&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: 1pt solid; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;[right-click]&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;table style="border-bottom: medium none; border-left: medium none; border-collapse: collapse; border-top: medium none; border-right: medium none"  border="1" cellspacing="0" cellpadding="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 347.4pt; padding-right: 5.4pt; background: rgb(74,68,42); border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="463" colspan="2"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;b&gt;&lt;span style="color: white; font-size: 14pt" lang="EN-US"&gt;Examining the Unmanaged Environment&lt;/span&gt;&lt;/b&gt;&lt;span &gt;&lt;b&gt;&lt;span style="color: white" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;List loaded modules with full path&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;lmf&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;List loaded modules with last modified timestamp&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;lmt&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;List unmanaged threads&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;~&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Select active thread&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;~&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;thread_id&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt; s&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View call stack&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;k&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View thread CPU consumption&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!runaway&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Set a breakpoint&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;bp&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Dump small memory image&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;.dump &lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;path&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: 1pt solid; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Dump large memory image&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: 1pt solid; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;.dump /ma &lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;path&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;table style="border-bottom: medium none; border-left: medium none; border-collapse: collapse; border-top: medium none; border-right: medium none"  border="1" cellspacing="0" cellpadding="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 347.4pt; padding-right: 5.4pt; background: rgb(74,68,42); border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="463" colspan="2"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;b&gt;&lt;span style="color: white; font-size: 14pt" lang="EN-US"&gt;Loading SOS&lt;/span&gt;&lt;/b&gt;&lt;span &gt;&lt;b&gt;&lt;span style="color: white" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Load SOS for .NET 1.&lt;i&gt;x&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;.load clr10\sos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: 1pt solid; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Load SOS for .NET 2.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: 1pt solid; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;.loadby sos mscorwks&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;table style="border-bottom: medium none; border-left: medium none; border-collapse: collapse; border-top: medium none; border-right: medium none"  border="1" cellspacing="0" cellpadding="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 347.4pt; padding-right: 5.4pt; background: rgb(74,68,42); border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="463" colspan="2"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;b&gt;&lt;span style="color: white; font-size: 14pt" lang="EN-US"&gt;Examining the Managed Environment&lt;/span&gt;&lt;/b&gt;&lt;span &gt;&lt;b&gt;&lt;span style="color: white" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Dump runtime type information&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!dumpruntimetypes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View managed threads&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!threads&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View managed call stack&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!clrstack&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View combined managed / unmanaged callstack&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!dumpstack&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View function call arguments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!clrstack –p&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View local variables&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!clrstack –l&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View object dump&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!do &lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;address&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View array dump&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!da &lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;address&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View object size (including children)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!objsize &lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;address&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View heap usage by type&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!dumpheap -stat&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View heap usage filtered by type&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!dumpheap -type &lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View GC roots of object instance&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!gcroot &lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;address&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View managed sync blocks&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!syncblk&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View managed thinlocks (CLR 2.0)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!dumpheap –thinlock&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: medium none; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;View information on most recent exception&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(238,236,225); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!printexception&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-bottom: 1pt solid; border-left: 1pt solid; padding-bottom: 0cm; padding-left: 5.4pt; width: 203.4pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: medium none; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="271"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span lang="EN-US"&gt;Set a breakpoint&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-bottom: 1pt solid; border-left: medium none; padding-bottom: 0cm; padding-left: 5.4pt; width: 144pt; padding-right: 5.4pt; background: rgb(221,217,195); border-top: medium none; border-right: 1pt solid; padding-top: 0cm; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial" valign="top" width="192"&gt; &lt;p style="line-height: normal; margin-bottom: 0pt" &gt;&lt;span &gt;&lt;span lang="EN-US"&gt;!bpmd &lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;module method&lt;/span&gt;&lt;/span&gt;&lt;span &gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://www.cnblogs.com/Magicsky/aggbug/1830962.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Magicsky/archive/2010/09/19/1830962.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Magicsky/archive/2010/09/06/1819355.html</id><title type="text">《Dissecting SQL Server Execution Plans》随记</title><summary type="text">1.常用分析语句DBCC FREEPROCCACHE --清缓存DBCC DROPCLEANBUFFERS --清缓冲区 --获取性能信息set statistics profile on set statistics io on set statistics time on 使用 SET STATISTICS XML ON 选项打开 XML 显示计划功能 --查看已经缓存的sqlSELECT [...</summary><published>2010-09-06T08:07:00Z</published><updated>2010-09-06T08:07:00Z</updated><author><name>魔幻天空</name><uri>http://www.cnblogs.com/Magicsky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Magicsky/archive/2010/09/06/1819355.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Magicsky/archive/2010/09/06/1819355.html"/><content type="html">&lt;p&gt;1.常用分析语句&lt;br /&gt;DBCC FREEPROCCACHE --清缓存&lt;br /&gt;DBCC DROPCLEANBUFFERS --清缓冲区 &lt;/p&gt;&#xD;
&lt;p&gt;--获取性能信息&lt;br /&gt;set statistics profile on &lt;/p&gt;&#xD;
&lt;p&gt;set statistics io on &lt;/p&gt;&#xD;
&lt;p&gt;set statistics time on &lt;/p&gt;&#xD;
&lt;p&gt;使用 SET STATISTICS XML ON 选项打开 XML 显示计划功能 &lt;/p&gt;&#xD;
&lt;p&gt;--查看已经缓存的sql&lt;br /&gt;SELECT&amp;nbsp; [cp].[refcounts] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[cp].[usecounts] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[cp].[objtype] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[st].[dbid] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[st].[objectid] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[st].[text] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[qp].[query_plan] &lt;br /&gt;FROM&amp;nbsp;&amp;nbsp;&amp;nbsp; sys.dm_exec_cached_plans cp &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle) qp ; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;2.何时实际与执行计划不同？&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.统计过期&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. 需要并发&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;3.聚合索引包含全部的列数据，因此即使返回全部列也不会有【嵌套循环】和【键查找】 &lt;/p&gt;&#xD;
&lt;p&gt;排序：SQLSERVER会首先利用内存进行排序，若内存不足，则会启用TEMPDB进行排序，此时将报告一个警告，如果出现警告，请改善内存大小或程序本身。 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;4.CTE 公用表表达式 可作为递归 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;5.实体化视图/索引视图（视图存储数据，tempdb，插入时自动更新）&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. 创建索引视图的时候需要指定表所属的架构&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.在创建索引视图的select语句时，不使用*,必须指定具体的列名&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.在创建索引视图的select 语句中，不能存在重复的列名，这个不举例了&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4. 只能为索引视图创建唯一聚集索引&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Magicsky/aggbug/1819355.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Magicsky/archive/2010/09/06/1819355.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
