Ozcode Production Debugger is a debugging platform for C# and .NET on Production and pre-Production environments such as QA and Staging. This is the first of a series of blog posts about getting started with Ozcode Production Debugger on the different platforms it supports. In this post, I’ll show you how easy it is to get up and running with Ozcode on Microsoft IIS. End-to-end, it’s only a matter of minutes before you can start debugging your application. As one of the leading web servers out there, and with its extensive support for .NET, this was a no-brainer for us. As a company with strong roots in .NET debugging, supporting remote debugging on IIS for production and pre-production environments was a priority for us.
You can get started in three short steps:
- Step 1. Create or sign into your account
- Step 2. Create your application on Ozcode Production Debugger
- Step 3. Download and run the Ozcode Windows installer on your IIS
Once you’re up and running, and the exceptions start registering, it gets really interesting, so I’ll touch on getting started with debugging your application.
Step 1: Creating or signing into your account
To create or sign into your account, just browse to https://app.oz-code.com/sign-in and follow the simple instructions. Nothing difficult here.
You will get an email confirmation request, and once you confirm your email and sign in, you’ll be right where you need to be to create your first application.
Step 2: Creating your application on Ozcode Production Debugger
Upon signing in for the first time, Ozcode will prompt you to create your first application. Just give your application a name and click Create. Ozcode will create the application and generate your application token. Make note of the Copy button next to your token. You can use this later on when you need to provide your token to the Ozcode Windows installer for IIS.
As you can see, however you want to deploy your application, Ozcode provides the corresponding instructions to help get you going. Depending on your choice, the instructions may be more or less complicated. In fact, an IIS installation is one of the longer ones, but as you will see in the next section, even that is no more than a matter of minutes.
Step 3 Download and run the Ozcode Windows installer on your IIS
After you have created your application on Ozcode, the next step is to install our agent on your machine (or VM). Ozcode will prompt you to select your hosting platform, OS, and deployment method. In the example below, we’re hosting on Azure and doing an IIS deployment on Windows.
Simply select: Azure -> Windows -> IIS and download the installer from the link in the first instruction.
Run the installer making sure to follow these important steps:
- Only select Attach to IIS application pools. If you don’t see this option, you probably don’t have IIS installed on your machine. (Attach to desktop applications should not be selected).
- When prompted by the installation wizard, copy your application token from Ozcode and paste it in the specified field.
- Restart the IIS server. This is required to enable the Ozcode agent to attach to your IIS application pools.
Now that your agent is attached to your IIS application pools, you can go back to the Ozcode Production Debugger, and see that your agent is sending telemetry data.
Debugging an exception
Once the Ozcode agent is attached, you’re ready for remote debugging of your IIS application. Well, not quite, but almost. The Ozcode agent works in two phases, capture mode and debug mode.
Once installed, the Ozcode agent autonomously monitors your application, waiting for it to throw an exception. The first time an exception is thrown, Ozcode adds lightweight instrumentation to your code. At this point, the exception is in “Capture” mode. You can see it in the Ozcode dashboard, and can even get its stack trace, but aren’t able to debug it yet.
The second time the exception is thrown is when the magic happens.
The second time an exception is thrown, the Ozcode agent uses its instrumentation to capture full-fidelity time-travel debug information, giving the code-level visibility you need to debug the exception and determine its root cause.
Don’t grapple with remote debugging on IIS alone
That’s it. You’ve seen that within minutes, you can be up and running and debugging your IIS application pool. But just before I go, here’s a quick tip. Why don’t you invite your teammates to debug with you? Ozcode’s collaboration panel was built just for that.