Leveraging the new WinDbgX and Time-Travel-Trace –Script to list all access to files
WinDbg Preview a.k.a. WinDbgX aesthetically looks like a marriage between Visual Studio (VS) and WinDbg, however VS and WinDbg have not many things in common. For me, this is the good news. The bad news is that the support for managed code is as limited as WinDbg’s. You can download the preview here: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools
Tool to generate DebugDiag rule for SharePoint based on event id (Tag) and optionally a partial message
When I updated my post on how to create DebugDiag rule based on event id (Tag), I received some feedback that modifying the scripts is quite error prone and more often than not the resulting script would not work as expected. To that end, I decided to create a visual tool that will create the
Misbehaving custom SharePoint components leading to claims authentication exceptions (tag bz7l)
I have mentioned the steps to troubleshoot Claims to Windows NT Service (c2WTS) problems in a previous post (click here). There is also a post to see if the problem is with Active Directory (AD) or c2WTS (click here). After doinf the normal troubleshooting outlined in the previous posts you still have an issue
WinDBG Extension written completely in C#
A lot of good and competent people shy away from writing their own WinDbg extension because of the difficultyto prepare a native C++ DLL using the right APIs to interact with WinDbg. So this post is to get you started to writing your own extension using a proof-of-concept extension that can analyze manage dumps (as
Considerations for NetTcpBinding/NetNamedPipeBinding you may not be aware
NetTcpBinding is a strange beast and chances are you will encounter several problems in production you never experienced in development or staging phases. The information you will see here will be either fragmented or hidden in the fine print throughout MSDN documentation. Considerations about net.tcp binding Port Sharing Net.tcp services using shared port needs
How to Identify Why an Application Pool is Recycling in IIS 7+ and DebugDiag 2 Fails to Add Managed Breakpoint in .NET 4.6+ in one post
Identifying why Application Pool is recycling Starting with IIS 7, application recycle for managed Web Applications does not recycle w3wp.exe (IIS Worker Process), instead it simply reload (unload and load a new one) the Application Domain. I mentioned it on another post how to identify the cause of an application pool recycle, but now
Displaying Http Requests from Self-Hosted WCF Services
This is a short one, I promise. A colleague was complaining that NetExt command !whttp was not displaying the active/finished requests on a dump file he was sure it was processing http requests. The truth is that the process was not w3wp.exe (IIS Worker Process) but rather a self-hosted WCF service. The command !whttp
First NetExt custom command added by the community – !wsocket
James Davis is a big shot in the debugging community and maintains a hard core blog of his experiences. Just soon after NetExt came back online he contacted me via the blog with some very particular questions, the kind of question only seasoned debuggers (and debug extension writers) know how to ask. He focused
The case of the non-responsive MVC Web Application
A colleague (and friend) from Azure team asked me to help narrow down a strange case of a MVC Entity Framework application (hosted in Virtual machine) which occasionally stopped responding, requiring a IIS reset to work again. The products I support do not include IIS, MVC nor Entity Framework. I was invited to help
The strange case of the Application Pool recycling causing high CPU
This case came as a performance issue. Exchange Web Services stopped responding and CPU skyrocketed. The Exchange team captured a manual dump file and tried in vain to recycle the application. The problem was eventually resolved by invoking a full IISRESET. I was added to the case to help identify why the problem was