Skip to content
Rob van Oostenrijk edited this page May 15, 2014 · 4 revisions

Introduction

TcmDebugger is a .NET console application which runs the SDL Tridion Content Manager render/publishing engine in a local context.

This allows a developer to extensively debug .NET templates, .NET custom function sources and .NET custom mediators on their local workstation.

Download

Pre-compiled binary versions available for download can be found here: TcmDebugger on Google Drive.

Additionally the full source code is available on GitHub: https://github.com/robvanoostenrijk/TcmDebugger

Note that you will need to collect the required dependencies using TcmDependencies.exe as per the setup guide

Getting it to work

Find more information about setting things up and the TcmDebugger configuration.

Details

TcmDebugger encapsulates both the Tridion debug templating engine (through DebugSession) and the TcmPublisher default templating engine.

Engines

The TcmDebugger exposes three engine types:

Debug Engine

This uses the same template rendering engine as the SDL Tridion provided template builder application. However it executes the template code on the local machine in a separate thread instead of on the remote server. The TcmDebugger will capture all the log output from the templating process and display it in the console window.

Debug Engine Server

The Debug engine server implements the Debug Engine including the Tridion CompoundTemplateWebService.

This allows using SDL Tridion Template Builder as a front-end for TcmDebugger.

Debug Engine Server

The render engine uses the same approach to rendering a template as the normal TcmPublisher service process.

The template is executed inside the TcmDebugger main thread context. If configured in the Tridion.ContentManager.config file, the logging output of the templating process can be redirected to the console window.

The WrappedMediator wraps around the existing Tridion mediator in order to redirect the loading of assembly class libraries during templating to the debugged copies.

Even though most of the SDL Tridion engine is in .NET, some parts of the templating process still interface with the old Tridion COM+ layer (for example for GetUsingItems/GetUsedItems).

Clone this wiki locally