-
Notifications
You must be signed in to change notification settings - Fork 3
Home
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.
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
Find more information about setting things up and the TcmDebugger configuration.
TcmDebugger encapsulates both the Tridion debug templating engine (through DebugSession) and the TcmPublisher default templating engine.
The TcmDebugger exposes three engine types:
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.
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.
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).