It has been a long time since the last update, but I have some news to share! 😊 I’ve been doing a lot of COM debugging with WinDbg and comon lately. Comon, as you maybe remember, is a WinDbg extension I wrote to simplify COM troubleshooting. The new release (2.1) includes bug fixes and new functionalities. The feature I am most happy about is the support for COM method parameters. Comon now extracts information about method parameters from COM metadata and can display their values on method calls (not all COM types are supported yet). Please check the COM troubleshooting tutorial to learn more.
Wtrace collected RPC events almost from its beginning (version 1.2). This functionality was implemented through a generated Microsoft-Windows-RPC ETW event parser. Thanks to the RPC ETW events, we could learn some information about RPC calls happening in our system, including their endpoint names, protocols, interface UUIDs, and procedure numbers. An example RPC event in the wtrace output might look as follows:
Almost five months ago, I wrote an article on implementing COM+ code, in which I promised a new troubleshooting tool in the wtrace toolkit. Today, I am pleased to present it to you! It’s an open-source Windbg extension named comon. You may use it to investigate COM class interactions and better understand application logic. During a debugging session, comon will record virtual table addresses (for the newly created COM objects) and allow you to query them or even set breakpoints (!cobp) on COM interface methods.
I am happy to announce that the first version of dotnet-wtrace is available for download 🎉️ Like wtrace, it is an open-source, command-line tool that collects process traces in real-time and displays them in the standard output. However, dotnet-wtrace focuses only on events coming from .NET applications. It uses EventPipe to read runtime and application events and works with .NET Core applications (2.1+) on all the supported platforms.
After weeks of work, I am happy to announce the new release of wtrace. The 3.0 version is a complete rewrite, with many fixes and new features.