Magnus Stråle
Aug 12, 2010
  8845
(0 votes)

Debugging initialization modules

I have covered the new initialization system as introduced with EPiServer CMS 6 and EPiServer Community 4 in previous blog posts. See http://world.episerver.com/Blogs/Magnus-Strale/Dates/2009/12/The-new-initialization-system---How-to-write-an-initialization-module-and-advanced-topics/ Just back from a long summer vacation, one of the first tasks was related to a new initialization module and I just wanted to do a quick “debug exploration” before starting on the work proper.

However I utterly failed to get the debugger to halt on a breakpoint in the initialization module. After a coffee I realized that the problem was that the initialization modules execute before the debugger actually hooks up to the process due to the initialization code being invoked from the HttpApplication constructor (actually the EPiServer.Global constructor).

However there is a simple workaround:

  1. Open the EPiServerFramework.config file.
  2. Remove the <automaticSiteMapping> section.
  3. Save the file.
  4. Set your breakpoints in VisualStudio.
  5. Start your EPiServer web app from VisualStudio.

You will now get the debugger to break, since the initialization system will now abort on the first invocation and delay execution until the first BeginRequest, and at that stage the debugger is attached and functional.

Note that the file EPiServerFramework.config will be automatically updated so you might want to set it to read-only to avoid having to edit it constantly.

Aug 12, 2010

Comments

Thomas Dane
Thomas Dane Jul 24, 2017 06:21 PM

This just saved me a lot of time. Thanks very much! 

Johan Book
Johan Book Jul 25, 2017 02:50 AM

In recent versions of Episerver the automaticSiteMapping-section has been removed. A working method using IIS start/stop can be found here:

http://jondjones.com/learn-episerver-cms/episerver-developers-guide/episerver-initialization-module/how-to-debug-an-episerver-scheduled-job-or-initialization-module

Please login to comment.
Latest blogs
Optimizely Web Experimentation Metrics

Within the domain of Optimizely Web Experimentation Metrics, the emphasis is on objective key performance indicators (KPIs) selected to assess an...

Matthew Dunn | Sep 23, 2023 | Syndicated blog

Optimizely For you Intranet

Having been at Optimizely and in the CMS industry for nearly 16 years I have seen clients’ intranet requirements go from a simple site just to hous...

Robert Folan | Sep 22, 2023

Vulnerability in EPiServer.GoogleAnalytics v3 and v4

Introduction A potential security vulnerability was detected for Optimizely Google Analytics addon (including EPiServer.GoogleAnalytics and...

Bien Nguyen | Sep 20, 2023

Overriding Optimizely’s Content Recommendations Block to Implement Custom Recommendations

Introduction The Content Recommendations add-on for Optimizely CMS dynamically recommends content from your site tailored to the interests of each...

abritt | Sep 13, 2023 | Syndicated blog

Developer contest! Install the AI Assistant and Win Bose QC45 Headphones!

We are thrilled to announce a developer contest where you have the chance to win a pair of Bose Headphones. The goal is to be the first developer t...

Luc Gosso (MVP) | Sep 7, 2023 | Syndicated blog

Send Optimizely notifications with SendGrid API, not SMTP

If your Optimizely site already sends transaction emails through an email platform API, why not do the same with Optimizely notification emails?

Stefan Holm Olsen | Sep 6, 2023 | Syndicated blog