OOM.NET – Outlook Crashes When Using Outlook Object Model in Multiple Threads

Matt Stehle used to be on my team prior and had blogged on the usage of Outlook Object Model (OOM) under .NET. However, his blog is being closed and I am re-blogging his content here. One of the major requirements most developers are up against these days is ensuring their code runs as fast as…


OOM.NET – Like a good standup comic – use scope and have good timing…

Matt Stehle used to be on my team prior and had blogged on the usage of Outlook Object Model (OOM) under .NET. However, his blog is being closed and I am re-blogging his content here. Recently, I was helping someone with a Outlook item leak type issue involving a Task FormRegion.  The symptom was that…


OOM.NET Part 4 – Don’t Thread On Me

Matt Stehle used to be on my team prior and had blogged on the usage of Outlook Object Model (OOM) under .NET. However, his blog is being closed and I am re-blogging his content here. Patrick posted a discussion of multithreading with Outlook Object Model and why it doesn’t help to make OOM calls on…


Part 3 – Back to the Basics, MSDN Must Reads

Matt Stehle used to be on my team prior and had blogged on the usage of Outlook Object Model (OOM) under .NET. However, his blog is being closed and I am re-blogging his content here. The Outlook Developer Reference on MSDN has great information on .NET and COM interop which I would consider a prerequisite…


OOM.NET Part 2 – Outlook Item Leaks

Matt Stehle used to be on my team prior and had blogged on the usage of Outlook Object Model (OOM) under .NET. However, his blog is being closed and I am re-blogging his content here. Outlook item leaks are the most common OOM with .NET issues that we see and I’ve debugged enough of them…


OOM.NET Part 1 – Introduction and Why Events Stop Firing…

Matt Stehle used to be on my team prior and had blogged on the usage of Outlook Object Model (OOM) under .NET. However, his blog is being closed and I am re-blogging his content here. OOM.NET is not a special API set that was created in managed code.  It is the name I’ve given to…


Break When Value Changes: Data Breakpoints for .NET Core in Visual Studio 2019

“Why is this value changing unexpectedly and where or when is this occurring?!” This is a question many of us dread asking ourselves, knowing that we’ll have to do some tedious trial-and-error debugging  to locate the source of this issue.  For C++ developers, the exclusive solution to this problem has been the data breakpoint, a…


Break When Value Changes: Data Breakpoints for .NET Core in Visual Studio 2019

“Why is this value changing unexpectedly and where or when is this occurring?!” This is a question many of us dread asking ourselves, knowing that we’ll have to do some tedious trial-and-error debugging  to locate the source of this issue.  For C++ developers, the exclusive solution to this problem has been the data breakpoint, a…


Video: Learning Machine Learning with .NET, PyTorch and the ONNX Runtime

ONNX is a open format to represent deep learning models that is supported by various frameworks and tools. This format makes it easier to interoperate between frameworks and to maximize the reach of your hardware optimization investments. In this episode, Seth Juarez sits with Rich to show us how we can use the ONNX runtime…


Debugging .NET Apps with Time Travel Debugging (TTD)

When you are debugging an application, there are many tools and techniques you can use, like logs, memory dumps and Event Tracing for Windows (ETW). In this post, we will talk about Time Travel Debugging, a tool used by Microsoft Support and product teams and more advanced users, but I encourage everyone to try this…