Home
%3CLINGO-SUB%20id%3D%22lingo-sub-347296%22%20slang%3D%22en-US%22%3EConfiguring%20DebugDiag%20to%20Automatically%20Capture%20a%20Full%20User%20Dump%20on%20a%20Managed%20Function%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-347296%22%20slang%3D%22en-US%22%3E%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3EI%20recently%20worked%20an%20issue%20with%20a%20customer%20where%20we%20needed%20to%20capture%20a%20full%20user%20dump%20of%20the%20IIS%20worker%20process%20when%20a%20specific%20function%20was%20being%20called.%26nbsp%3B%26nbsp%3B%20The%20problem%20was%20that%20the%20function%20was%20in%20managed%20code.%26nbsp%3B%26nbsp%3B%20I%20thought%20it%20would%20be%20good%20to%20share%20how%20to%20do%20this%20with%20the%20Web%20Topics%20Community.%26nbsp%3B%20I%20will%20first%20show%20how%20to%20set%20a%20managed%20breakpoint%20in%20a%20normal%20debugger.%26nbsp%3B%20Then%20I%20will%20show%20how%20to%20automate%20it%20with%20DebugDiag%2C%20and%20have%20it%20take%20an%20action%20of%20creating%20a%20full%20user%20mode%20dump%20file%20when%20the%20breakpoint%20is%20hit.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3E%26nbsp%3BThe%20managed%20function%20I%20will%20use%20to%20illustrate%20this%20is%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3ESystem.Web.HttpResponse.ReportRuntimeError%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20inherit%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%20light%26amp%3Bquot%3B%2C%26amp%3Bquot%3Bsegoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2030px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20normal%3B%20letter-spacing%3A%20normal%3B%20line-height%3A%201.1%3B%20margin-bottom%3A%2010px%3B%20margin-top%3A%2020px%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20id%3D%22toc-hId-1705685407%22%20id%3D%22toc-hId-1766521704%22%3ENormal%20Debugger%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20class%3D%22code%22%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3ELoad%20sos.dll%3A%20%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E.loadby%20sos%20mscorwks%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH3%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20inherit%3B%20font-family%3A%20inherit%3B%20font-size%3A%2024px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20normal%3B%20letter-spacing%3A%20normal%3B%20line-height%3A%201.1%3B%20margin-bottom%3A%2010px%3B%20margin-top%3A%2020px%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20id%3D%22toc-hId--1042985059%22%20id%3D%22toc-hId--982148762%22%3EMethod%201%3A%26nbsp%3BSet%20the%20Breakpoint%20with%20!bpmd%3C%2FH3%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20class%3D%22code%22%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3E0%3A012%26gt%3B%20!bpmd%20System_Web_ni%20System.Web.HttpResponse.ReportRuntimeError%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3EFound%201%20methods...%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3EMethodDesc%20%3D%2065f688bc%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3ESetting%20breakpoint%3A%20bp%20660A27C0%20%5BSystem.Web.HttpResponse.ReportRuntimeError(System.Exception%2C%20Boolean%2C%20Boolean)%5D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH3%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20inherit%3B%20font-family%3A%20inherit%3B%20font-size%3A%2024px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20normal%3B%20letter-spacing%3A%20normal%3B%20line-height%3A%201.1%3B%20margin-bottom%3A%2010px%3B%20margin-top%3A%2020px%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20id%3D%22toc-hId-699825276%22%20id%3D%22toc-hId-760661573%22%3EMethod%202%3A%26nbsp%3B%20Find%20the%20Jitted%20address%20and%20set%20with%20bp%20command%3C%2FH3%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20class%3D%22code%22%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3E0%3A012%26gt%3B%20!name2ee%20System_Web_ni%20System.Web.HttpResponse.ReportRuntimeError%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3EModule%3A%2065f21000%20(System.Web.dll)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3EToken%3A%200x060005fb%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3EMethodDesc%3A%2065f688bc%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3EName%3A%20System.Web.HttpResponse.ReportRuntimeError(System.Exception%2C%20Boolean%2C%20Boolean)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3EJITTED%20Code%20Address%3A%20660a27c0%20%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E0%3A012%26gt%3B%20bp%20660a27c0%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3EWhen%20you%20run%20the%20debugger%2C%20and%20it%20breaks%2C%20you%20can%20use%20!clrstack%20to%20see%20the%20call%20stack%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20class%3D%22code%22%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3E0%3A003%26gt%3B%20!clrstack%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3EOS%20Thread%20Id%3A%200x68c%20(3)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3EESP%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20EIP%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E0063f2f0%20660a27c0%20System.Web.HttpResponse.ReportRuntimeError(System.Exception%2C%20Boolean%2C%20Boolean)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E0063f2fc%2066090280%20System.Web.HttpRuntime.FinishRequest(System.Web.HttpWorkerRequest%2C%20System.Web.HttpContext%2C%20System.Exception)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E0063f344%20660900d6%20System.Web.HttpRuntime.OnHandlerCompletion(System.IAsyncResult)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E0063f374%206608fafe%20System.Web.HttpAsyncResult.Complete(Boolean%2C%20System.Object%2C%20System.Exception%2C%20System.Web.RequestNotificationStatus)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E0063f394%206608c6e1%20System.Web.HttpApplication%2BApplicationStepManager.ResumeSteps(System.Exception)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E0063f3e4%20660808ac%20System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(System.Web.HttpContext%2C%20System.AsyncCallback%2C%20System.Object)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E0063f400%2066083e1c%20System.Web.HttpRuntime.ProcessRequestInternal(System.Web.HttpWorkerRequest)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E0063f434%2066083ac3%20System.Web.HttpRuntime.ProcessRequestNoDemand(System.Web.HttpWorkerRequest)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E0063f444%2066082c5c%20System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr%2C%20Int32)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E0063f658%2079f68cde%20%5BContextTransitionFrame%3A%200063f658%5D%20%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E0063f68c%2079f68cde%20%5BGCFrame%3A%200063f68c%5D%20%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E0063f7e8%2079f68cde%20%5BComMethodFrame%3A%200063f7e8%5D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3EThis%20can%20be%20useful%20when%20a%20particular%20runtime%20error%20is%20occurring%20in%20ASP.NET%20and%20you%20are%20not%20sure%20why.%26nbsp%3B%26nbsp%3B%20However%2C%20attaching%20a%20live%20debugger%20and%20running%20these%20commands%20will%20stop%20the%20processing%20of%20web%20requests%20for%20the%20amount%20of%20time%20you%20spend%20in%20the%20live%20debugger.%26nbsp%3B%20Therefore%2C%20the%20following%20steps%20will%20show%20how%20to%20automate%20this%20with%20DebugDiag.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20inherit%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%20light%26amp%3Bquot%3B%2C%26amp%3Bquot%3Bsegoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2030px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20normal%3B%20letter-spacing%3A%20normal%3B%20line-height%3A%201.1%3B%20margin-bottom%3A%2010px%3B%20margin-top%3A%2020px%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20id%3D%22toc-hId--1655818180%22%20id%3D%22toc-hId--1594981883%22%3EAutomating%20a%20Managed%20Breakpoint%20Dump%20with%20DebugDiag%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3EDebugDiag%20can%20be%20downloaded%20here%3A%26nbsp%3B%20%3CA%20style%3D%22background-color%3A%20transparent%3B%20box-sizing%3A%20border-box%3B%20color%3A%20%23337ab7%3B%20text-decoration%3A%20none%3B%22%20href%3D%22http%3A%2F%2Fwww.microsoft.com%2Fdownloads%2Fdetails.aspx%3FFamilyID%3D28bd5941-c458-46f1-b24d-f60151d875a3%26amp%3Bdisplaylang%3Den%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttp%3A%2F%2Fwww.microsoft.com%2Fdownloads%2Fdetails.aspx%3FFamilyID%3D28bd5941-c458-46f1-b24d-f60151d875a3%26amp%3Bdisplaylang%3Den%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3EAfter%20Installing%20DebugDiag%2C%20the%20steps%20we%20will%20take%20are%20as%20follows%3A%3C%2FP%3E%0A%3CP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CLI-WRAPPER%3E%3C%2FLI-WRAPPER%3E%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%20style%3D%22box-sizing%3A%20border-box%3B%22%3ECreate%20a%20Crash%20Rule%2C%20but%20do%20not%20activate%20it.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CLI-WRAPPER%3E%0A%3C%2FLI-WRAPPER%3E%3C%2FP%3E%3CLI%20style%3D%22box-sizing%3A%20border-box%3B%22%3EModify%20the%20Crash%20Rule%20Script%3C%2FLI%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CLI-WRAPPER%3E%0A%3CUL%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20margin-bottom%3A%2010px%3B%20margin-top%3A%200px%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%3E%0A%3CLI%20style%3D%22box-sizing%3A%20border-box%3B%22%3EActivate%20the%20Crash%20Rule%3C%2FLI%3E%0A%3C%2FUL%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CH3%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20inherit%3B%20font-family%3A%20inherit%3B%20font-size%3A%2024px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20normal%3B%20letter-spacing%3A%20normal%3B%20line-height%3A%201.1%3B%20margin-bottom%3A%2010px%3B%20margin-top%3A%2020px%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20id%3D%22toc-hId--109521350%22%20id%3D%22toc-hId--48685053%22%3ECreate%20a%20Crash%20Rule%20that%20is%20not%20activated%3C%2FH3%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3C%2FLI-WRAPPER%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CLI-WRAPPER%3E%0A%3CLI%20style%3D%22box-sizing%3A%20border-box%3B%22%3EOn%20the%20rules%20tab%20click%20the%20Add%20Rule...%20button%20to%20bring%20up%20the%20Rule%20creation%20wizard.%3C%2FLI%3E%0A%3C%2FLI-WRAPPER%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CLI-WRAPPER%3E%0A%3CLI%20style%3D%22box-sizing%3A%20border-box%3B%22%3EChoose%20the%20Crash%20Rule%20Option%3A%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CIMG%20width%3D%22448%22%20height%3D%22390%22%20title%3D%22Select%20Rule%20Type%22%20style%3D%22border-image-outset%3A%200%3B%20border-image-repeat%3A%20stretch%3B%20border-image-slice%3A%20100%25%3B%20border-image-source%3A%20none%3B%20border-image-width%3A%201%3B%20box-sizing%3A%20border-box%3B%20height%3A%20390px%3B%20max-width%3A%20100%25%3B%20vertical-align%3A%20middle%3B%20width%3A%20448px%3B%20border%3A%200px%20none%20currentColor%3B%22%20alt%3D%22Select%20Rule%20Type%22%20src%3D%22https%3A%2F%2Fmsdnshared.blob.core.windows.net%2Fmedia%2FMSDNBlogsFS%2Fprod.evol.blogs.msdn.com%2FCommunityServer.Components.PostAttachments%2F00%2F09%2F90%2F20%2F52%2FChooseRule.JPG%22%20border%3D%220%22%20%2F%3E%3C%2FLI%3E%0A%3C%2FLI-WRAPPER%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CLI-WRAPPER%3E%0A%3COL%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20margin-bottom%3A%2010px%3B%20margin-top%3A%200px%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%3E%0A%3CLI%20style%3D%22box-sizing%3A%20border-box%3B%22%3EChoose%20the%20option%20%22A%20specific%20IIS%20web%20application%20pool%22%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CIMG%20width%3D%22448%22%20height%3D%22390%22%20title%3D%22A%20Specific%20Application%20Pool%22%20style%3D%22border-image-outset%3A%200%3B%20border-image-repeat%3A%20stretch%3B%20border-image-slice%3A%20100%25%3B%20border-image-source%3A%20none%3B%20border-image-width%3A%201%3B%20box-sizing%3A%20border-box%3B%20height%3A%20390px%3B%20max-width%3A%20100%25%3B%20vertical-align%3A%20middle%3B%20width%3A%20448px%3B%20border%3A%200px%20none%20currentColor%3B%22%20alt%3D%22A%20Specific%20Application%20Pool%22%20src%3D%22https%3A%2F%2Fmsdnshared.blob.core.windows.net%2Fmedia%2FMSDNBlogsFS%2Fprod.evol.blogs.msdn.com%2FCommunityServer.Components.PostAttachments%2F00%2F09%2F90%2F20%2F53%2FChooseTarget.JPG%22%20border%3D%220%22%20%2F%3E%20%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3C%2FLI%3E%0A%3CLI%20style%3D%22box-sizing%3A%20border-box%3B%22%3EChoose%20the%20application%20pool%20that%20will%20be%20monitored%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CIMG%20width%3D%22448%22%20height%3D%22390%22%20title%3D%22Application%20Pool%20to%20Monitor%22%20style%3D%22border-image-outset%3A%200%3B%20border-image-repeat%3A%20stretch%3B%20border-image-slice%3A%20100%25%3B%20border-image-source%3A%20none%3B%20border-image-width%3A%201%3B%20box-sizing%3A%20border-box%3B%20height%3A%20390px%3B%20max-width%3A%20100%25%3B%20vertical-align%3A%20middle%3B%20width%3A%20448px%3B%20border%3A%200px%20none%20currentColor%3B%22%20alt%3D%22Application%20Pool%20to%20Monitor%22%20src%3D%22https%3A%2F%2Fmsdnshared.blob.core.windows.net%2Fmedia%2FMSDNBlogsFS%2Fprod.evol.blogs.msdn.com%2FCommunityServer.Components.PostAttachments%2F00%2F09%2F90%2F20%2F50%2FAppPool.JPG%22%20border%3D%220%22%20%2F%3E%20%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3C%2FLI%3E%0A%3CLI%20style%3D%22box-sizing%3A%20border-box%3B%22%3EClick%20next%20twice%20to%20move%20to%20the%20end%20of%20the%20Wizard%20and%20choose%20%22Do%20not%20activate%20the%20rule%20at%20this%20time%22%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CIMG%20width%3D%22448%22%20height%3D%22390%22%20title%3D%22Do%20not%20activate%20rule%22%20style%3D%22border-image-outset%3A%200%3B%20border-image-repeat%3A%20stretch%3B%20border-image-slice%3A%20100%25%3B%20border-image-source%3A%20none%3B%20border-image-width%3A%201%3B%20box-sizing%3A%20border-box%3B%20height%3A%20390px%3B%20max-width%3A%20100%25%3B%20vertical-align%3A%20middle%3B%20width%3A%20448px%3B%20border%3A%200px%20none%20currentColor%3B%22%20alt%3D%22Do%20not%20activate%20rule%22%20src%3D%22https%3A%2F%2Fmsdnshared.blob.core.windows.net%2Fmedia%2FMSDNBlogsFS%2Fprod.evol.blogs.msdn.com%2FCommunityServer.Components.PostAttachments%2F00%2F09%2F90%2F20%2F56%2FRuleCompleted.JPG%22%20border%3D%220%22%20%2F%3E%20%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%3C%2FLI%3E%0A%3CLI%20style%3D%22box-sizing%3A%20border-box%3B%22%3EClick%20Finish%20to%20create%20the%20rule%3C%2FLI%3E%0A%3C%2FOL%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CH3%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20inherit%3B%20font-family%3A%20inherit%3B%20font-size%3A%2024px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20normal%3B%20letter-spacing%3A%20normal%3B%20line-height%3A%201.1%3B%20margin-bottom%3A%2010px%3B%20margin-top%3A%2020px%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20id%3D%22toc-hId-1633288985%22%20id%3D%22toc-hId-1694125282%22%3EModify%20the%20Crash%20Rule%20Script%3C%2FH3%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3EThe%20crash%20rule%20is%20a%20VBS%20File%20that%20will%20be%20located%20in%20the%20DebugDiag%20installation%20Scripts%20sub-directory.%26nbsp%3B%26nbsp%3B%20The%20VBS%20File%20is%20used%20when%20DebugDiag%20attaches%20to%20the%20IIS%20worker%20process%20for%20debugging.%26nbsp%3B%26nbsp%3B%20We%20will%20be%20modifying%20two%20functions%20in%20this%20script%20file.%3C%2FP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3EOpen%20the%20script%20file%20in%20notepad%20or%20your%20favorite%20text%20editor.%26nbsp%3B%20It%20will%20be%20named%20CrashRule_WebAppPool_AppPoolName.vbs.%26nbsp%3B%20Where%20the%20%22AppPoolName%22%20part%20of%20the%20file%20will%20be%20the%20name%20of%20the%20application%20pool%20the%20rule%20was%20configured%20for.%26nbsp%3B%26nbsp%3B%20Search%20for%20Debugger_OnInitialBreakpoint%20in%20the%20script%20file.%26nbsp%3B%26nbsp%3B%20This%20is%20a%20function%20that%20is%20called%20when%20DebugDiag%20first%20attaches%20to%20the%20process.%26nbsp%3B%20This%20is%20where%20we%20will%20add%20code%20to%20set%20the%20breakpoint.%26nbsp%3B%20The%20function%20should%20look%20like%20this%20when%20completed.%3C%2FP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20class%3D%22code%22%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3ESub%20Debugger_OnInitialBreakpoint()%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BDim%20strRet%2C%20strBP%2C%20bpCommand%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BWriteToLog%20%22Initializing%20control%20script%22%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BOn%20Error%20Resume%20Next%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BSet%20ServiceController%20%3D%20CreateObject(%22DbgSVC.Controller%22)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BSet%20ServiceState%20%3D%20ServiceController.ServiceState%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BOn%20Error%20Goto%200%20%26nbsp%3BWriteToLog%20%22Clearing%20any%20existing%20breakpoints%22%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BWriteToLog%20Debugger.Execute(%22bc%20*%22)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BWriteToLog%20Debugger.Execute(%22.loadby%20sos%20mscorwks%22)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BstrRet%20%3D%20Debugger.Execute(%22!bpmd%20System_Web_ni%20System.Web.HttpResponse.ReportRuntimeError%22)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BWriteToLog%20strRet%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BWriteToLog%20%22Report%20Runtime%20Error%20BP%20Configured%22%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BDbgState(%22BP_RUNTIME_ERROR_COUNT%22)%20%3D%200%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BWriteToLog%20%22Current%20Breakpoint%20List(BL)%22%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BDebugger.Write%20Debugger.Execute(%22bl%22)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3EEnd%20Sub%3C%2FP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3EWe%20added%20the%20following%20code%20to%20load%20the%20debugger%20extension%20and%20set%20the%20breakpoint.%26nbsp%3B%20The%20last%20line%20will%20output%20the%20result%20of%20the%20!bpmd%20command%20to%20our%20log%20file%20for%20our%20rule.%3C%2FP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20class%3D%22code%22%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BWriteToLog%20Debugger.Execute(%22.loadby%20sos%20mscorwks%22)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BstrRet%20%3D%20Debugger.Execute(%22!bpmd%20System_Web_ni%20System.Web.HttpResponse.ReportRuntimeError%22)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BWriteToLog%20strRet%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BWriteToLog%20%22Report%20Runtime%20Error%20BP%20Configured%22%3C%2FP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3EThen%20we%20added%20the%20following%20we%20can%20use%20to%20keep%20track%20of%20a%20dump%20count%20for%20our%20breakpoint%3A%3C%2FP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20class%3D%22code%22%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BDbgState(%22BP_RUNTIME_ERROR_COUNT%22)%20%3D%200%3C%2FP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3EThis%20will%20set%20our%20breakpoint.%26nbsp%3B%20When%20the%20breakpoint%20is%20actually%20hit%2C%20the%20Debugger_OnBreakpoint%20event%20is%20fired%20in%20our%20script.%26nbsp%3B%20We%20will%20modify%20this%20function%20to%20handle%20our%20breakpoint%20and%20generate%20a%20full%20user%20dump%20file.%26nbsp%3B%20We%20will%20also%20hard%20code%20a%20limit%20of%205%20dump%20files.%26nbsp%3B%3C%2FP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3ETo%20change%20the%20second%20function%2C%20look%20for%20Debugger_OnBreakpoint%20in%20the%20script%20file%20and%20re-configure%20it%20as%20follows%3A%3C%2FP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20class%3D%22code%22%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3ESub%20Debugger_OnBreakPoint(ByVal%20BreakPoint%2C%20ByVal%20CausingThread)%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BWriteToLog%20%22Breakpoint%20at%20%22%20%26amp%3B%20BreakPoint.OffsetExpression%20%26amp%3B%20%22%20caused%20by%20%22%20%26amp%3B%20CausingThread.SystemID%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BIf%20BreakPoint.OffsetExpression%20%3D%20%22System.Web.HttpResponse.ReportRuntimeError(System.Exception%2C%20Boolean%2C%20Boolean)%22%20Then%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3B%26nbsp%3BIf%20DbgState(%22BP_RUNTIME_ERROR_COUNT%22)%20%26lt%3B%205%20Then%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3BCreateDump%20Breakpoint.OffsetExpression%2C%20false%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3BDbgState(%22BP_RUNTIME_ERROR_COUNT%22)%20%3D%20DbgState(%22BP_RUNTIME_ERROR_COUNT%22)%20%2B%201%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3B%26nbsp%3BEnd%20If%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%26nbsp%3BEnd%20If%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3EEnd%20Sub%3C%2FP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3ESave%20the%20script%20file.%3C%2FP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3E%3CSTRONG%20style%3D%22box-sizing%3A%20border-box%3B%20font-weight%3A%20bold%3B%22%3EActivate%20the%20Crash%20Rule%20and%20verify%20the%20breakpoint%20is%20set%3C%2FSTRONG%3E%3C%2FP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3ERight%20click%26nbsp%3Bthe%20rule%20in%20DebugDiag's%20rule%20view%2C%20and%20click%20the%20Activate%20Rule%20menu%20item.%26nbsp%3B%26nbsp%3B%20This%20will%20activate%20our%20rule.%26nbsp%3B%20But%20how%20can%20we%20be%20sure%20our%20breakpoint%20was%20set%3F%26nbsp%3B%26nbsp%3B%20To%20do%20this%20go%20to%20the%20logs%20folder%20and%20open%20the%20w3wp__xxx_xxx.txt%20file%20that%20was%20created%20for%20the%20worker%20process%20when%20the%20rule%20was%20activated.%26nbsp%3B%26nbsp%3B%20The%20easiest%20way%20to%20get%20there%20is%20View-%26gt%3BLogs%20Folder%20menu%20in%20DebugDiag.%26nbsp%3B%20Locate%20the%20w3wp__PID__XXXX__Log.txt%20file%20for%20the%20PID%20of%20the%20currently%20running%20w3wp.exe%20and%20open%20it%20in%20notepad.%26nbsp%3B%26nbsp%3B%20Search%20for%20%22Report%20Runtime%20Error%20BP%20Configured%22%20in%20the%20log%20file%2C%20and%20make%20sure%20the%20breakpoint%20is%20correct.%26nbsp%3B%26nbsp%3BHere%20is%20what%20it%20should%20look%20like%20in%20the%20log%20file%20if%20it%20is%20correct%3A%3C%2FP%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20class%3D%22code%22%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3EFound%201%20methods...%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3EMethodDesc%20%3D%2065f688bc%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3ESetting%20breakpoint%3A%20bp%20660A27C0%20%5BSystem.Web.HttpResponse.ReportRuntimeError(System.Exception%2C%20Boolean%2C%20Boolean)%5D%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%22%20%2F%3E%5B10%2F1%2F2009%201%3A22%3A10%20PM%5D%20Report%20Runtime%20Error%20BP%20Configured%3C%2FP%3E%0A%3CH2%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20inherit%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%20light%26amp%3Bquot%3B%2C%26amp%3Bquot%3Bsegoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2030px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20normal%3B%20letter-spacing%3A%20normal%3B%20line-height%3A%201.1%3B%20margin-bottom%3A%2010px%3B%20margin-top%3A%2020px%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20id%3D%22toc-hId--722354471%22%20id%3D%22toc-hId--661518174%22%3EConclusions%3C%2FH2%3E%3CBR%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%20%2F%3E%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoe%20ui%26amp%3Bquot%3B%2Ctahoma%2Carial%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20400%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%200px%2010px%200px%3B%22%3EThis%20post%20explains%20how%20to%20automate%20a%20managed%20breakpoint%20with%20DebugDiag%20to%20generate%20a%20Full%20User%20dump%20when%20the%20managed%20breakpoint%20is%20hit.%26nbsp%3B%20The%20particular%20example%20used%20can%20be%20used%20to%20get%20a%20full%20user%20dump%20when%20the%20System.Web.HttpResponse.ReportRuntimeError%20function%20is%20called.%26nbsp%3B%20Getting%20a%20full%20user%20dump%20when%20this%20function%20is%20called%20may%20help%20identify%20why%20a%20certain%20ASP.NET%20Runtime%20error%20occurs.%3C%2FP%3E%0A%3C%2FLI-WRAPPER%3E%3CP%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3EAuthor%3A%20bretb%3C%2FSTRONG%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E

I recently worked an issue with a customer where we needed to capture a full user dump of the IIS worker process when a specific function was being called.   The problem was that the function was in managed code.   I thought it would be good to share how to do this with the Web Topics Community.  I will first show how to set a managed breakpoint in a normal debugger.  Then I will show how to automate it with DebugDiag, and have it take an action of creating a full user mode dump file when the breakpoint is hit.

 

 The managed function I will use to illustrate this is:

 

System.Web.HttpResponse.ReportRuntimeError

 

Normal Debugger

 

Load sos.dll:
.loadby sos mscorwks

 

Method 1: Set the Breakpoint with !bpmd

 

0:012> !bpmd System_Web_ni System.Web.HttpResponse.ReportRuntimeError
Found 1 methods...
MethodDesc = 65f688bc
Setting breakpoint: bp 660A27C0 [System.Web.HttpResponse.ReportRuntimeError(System.Exception, Boolean, Boolean)]

 

Method 2:  Find the Jitted address and set with bp command

 

0:012> !name2ee System_Web_ni System.Web.HttpResponse.ReportRuntimeError
Module: 65f21000 (System.Web.dll)
Token: 0x060005fb
MethodDesc: 65f688bc
Name: System.Web.HttpResponse.ReportRuntimeError(System.Exception, Boolean, Boolean)
JITTED Code Address: 660a27c0
0:012> bp 660a27c0

 

When you run the debugger, and it breaks, you can use !clrstack to see the call stack:

 

0:003> !clrstack
OS Thread Id: 0x68c (3)
ESP       EIP    
0063f2f0 660a27c0 System.Web.HttpResponse.ReportRuntimeError(System.Exception, Boolean, Boolean)
0063f2fc 66090280 System.Web.HttpRuntime.FinishRequest(System.Web.HttpWorkerRequest, System.Web.HttpContext, System.Exception)
0063f344 660900d6 System.Web.HttpRuntime.OnHandlerCompletion(System.IAsyncResult)
0063f374 6608fafe System.Web.HttpAsyncResult.Complete(Boolean, System.Object, System.Exception, System.Web.RequestNotificationStatus)
0063f394 6608c6e1 System.Web.HttpApplication+ApplicationStepManager.ResumeSteps(System.Exception)
0063f3e4 660808ac System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(System.Web.HttpContext, System.AsyncCallback, System.Object)
0063f400 66083e1c System.Web.HttpRuntime.ProcessRequestInternal(System.Web.HttpWorkerRequest)
0063f434 66083ac3 System.Web.HttpRuntime.ProcessRequestNoDemand(System.Web.HttpWorkerRequest)
0063f444 66082c5c System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr, Int32)
0063f658 79f68cde [ContextTransitionFrame: 0063f658]
0063f68c 79f68cde [GCFrame: 0063f68c]
0063f7e8 79f68cde [ComMethodFrame: 0063f7e8]

 

This can be useful when a particular runtime error is occurring in ASP.NET and you are not sure why.   However, attaching a live debugger and running these commands will stop the processing of web requests for the amount of time you spend in the live debugger.  Therefore, the following steps will show how to automate this with DebugDiag.

 

Automating a Managed Breakpoint Dump with DebugDiag

 

DebugDiag can be downloaded here:  http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displa...

 

After Installing DebugDiag, the steps we will take are as follows:



  • Create a Crash Rule, but do not activate it.


  • Modify the Crash Rule Script

    • Activate the Crash Rule

    Create a Crash Rule that is not activated



  • On the rules tab click the Add Rule... button to bring up the Rule creation wizard.

  • Choose the Crash Rule Option:

    Select Rule Type

    1. Choose the option "A specific IIS web application pool"

      A Specific Application Pool

    2. Choose the application pool that will be monitored

      Application Pool to Monitor

    3. Click next twice to move to the end of the Wizard and choose "Do not activate the rule at this time"

      Do not activate rule

    4. Click Finish to create the rule

    Modify the Crash Rule Script


    The crash rule is a VBS File that will be located in the DebugDiag installation Scripts sub-directory.   The VBS File is used when DebugDiag attaches to the IIS worker process for debugging.   We will be modifying two functions in this script file.


    Open the script file in notepad or your favorite text editor.  It will be named CrashRule_WebAppPool_AppPoolName.vbs.  Where the "AppPoolName" part of the file will be the name of the application pool the rule was configured for.   Search for Debugger_OnInitialBreakpoint in the script file.   This is a function that is called when DebugDiag first attaches to the process.  This is where we will add code to set the breakpoint.  The function should look like this when completed.


    Sub Debugger_OnInitialBreakpoint()
     Dim strRet, strBP, bpCommand
     WriteToLog "Initializing control script"
     On Error Resume Next
     Set ServiceController = CreateObject("DbgSVC.Controller")
     Set ServiceState = ServiceController.ServiceState
     On Error Goto 0  WriteToLog "Clearing any existing breakpoints"
     WriteToLog Debugger.Execute("bc *")
     WriteToLog Debugger.Execute(".loadby sos mscorwks")
     strRet = Debugger.Execute("!bpmd System_Web_ni System.Web.HttpResponse.ReportRuntimeError")
     WriteToLog strRet
     WriteToLog "Report Runtime Error BP Configured"
     DbgState("BP_RUNTIME_ERROR_COUNT") = 0
     WriteToLog "Current Breakpoint List(BL)"
     Debugger.Write Debugger.Execute("bl")
    End Sub


    We added the following code to load the debugger extension and set the breakpoint.  The last line will output the result of the !bpmd command to our log file for our rule.



     WriteToLog Debugger.Execute(".loadby sos mscorwks")
     strRet = Debugger.Execute("!bpmd System_Web_ni System.Web.HttpResponse.ReportRuntimeError")
     WriteToLog strRet
     WriteToLog "Report Runtime Error BP Configured"


    Then we added the following we can use to keep track of a dump count for our breakpoint:



     DbgState("BP_RUNTIME_ERROR_COUNT") = 0


    This will set our breakpoint.  When the breakpoint is actually hit, the Debugger_OnBreakpoint event is fired in our script.  We will modify this function to handle our breakpoint and generate a full user dump file.  We will also hard code a limit of 5 dump files. 


    To change the second function, look for Debugger_OnBreakpoint in the script file and re-configure it as follows:



    Sub Debugger_OnBreakPoint(ByVal BreakPoint, ByVal CausingThread)
     WriteToLog "Breakpoint at " & BreakPoint.OffsetExpression & " caused by " & CausingThread.SystemID
     If BreakPoint.OffsetExpression = "System.Web.HttpResponse.ReportRuntimeError(System.Exception, Boolean, Boolean)" Then
      If DbgState("BP_RUNTIME_ERROR_COUNT") < 5 Then
       CreateDump Breakpoint.OffsetExpression, false
       DbgState("BP_RUNTIME_ERROR_COUNT") = DbgState("BP_RUNTIME_ERROR_COUNT") + 1
      End If
     End If
    End Sub


    Save the script file.


    Activate the Crash Rule and verify the breakpoint is set


    Right click the rule in DebugDiag's rule view, and click the Activate Rule menu item.   This will activate our rule.  But how can we be sure our breakpoint was set?   To do this go to the logs folder and open the w3wp__xxx_xxx.txt file that was created for the worker process when the rule was activated.   The easiest way to get there is View->Logs Folder menu in DebugDiag.  Locate the w3wp__PID__XXXX__Log.txt file for the PID of the currently running w3wp.exe and open it in notepad.   Search for "Report Runtime Error BP Configured" in the log file, and make sure the breakpoint is correct.  Here is what it should look like in the log file if it is correct:


    Found 1 methods...
    MethodDesc = 65f688bc
    Setting breakpoint: bp 660A27C0 [System.Web.HttpResponse.ReportRuntimeError(System.Exception, Boolean, Boolean)]
    [10/1/2009 1:22:10 PM] Report Runtime Error BP Configured

    Conclusions


    This post explains how to automate a managed breakpoint with DebugDiag to generate a Full User dump when the managed breakpoint is hit.  The particular example used can be used to get a full user dump when the System.Web.HttpResponse.ReportRuntimeError function is called.  Getting a full user dump when this function is called may help identify why a certain ASP.NET Runtime error occurs.

     

    Author: bretb