I deal a lot with Interops. The most difficult task in |Interops is to debug your marshaling objects to make sure you marshaled it right. No more!!!
Roy Osherove just pointed me to a very cool app
CLR SPY.
CLR version 1.1 (Everett) debuts a set of debug probes that enable you to find and diagnose difficult bugs, even in a production environment. CLR SPY is a C# Windows Forms program that exposes these probes in a simple UI, so you can find your bugs before others do! The tool lets you easily configure all 11 probes, categorized as error probes (which can provoke debug breaks), warning probes, info probes, and probes that force nondeterministic failures to occur. All probes are related to interoperating with unmanaged code, since COM Interop and PInvoke are the most error-prone features of the CLR, with few diagnostics (until now!). For example, the probes can detect inaccurate PInvoke signatures or premature garbage collection. One even shows how every parameter gets marshaled! CLR SPY displays balloon tooltips in the taskbar notification area and/or logs messages to a file. This dynamic analysis tool is a great complement to FxCop's static analysis for writing high-quality managed code.
UPDATE:
CLR Spy helps to solve COM Interop problems and not for platform invoke i.e. DLLIMPORT
Thanks to Ohad Israeli to point it out
This is a very cool ASP.NET app:
Hey everybody!
I'm Ido Samuelson, am 28 years old and been married 4 month ago and it ROCKS! (wife watching...)
I currently work for IBM Global Services.
Am experienced .NET software engineer and architect. I have led teams in the development of ASP.NET projects and real-time .NET applications. Excellent problem solver with extensive expertise in: C#, VB.NET, ADO.NET, ASP.NET, MS Application Blocks, XML, and Win32API. Skilled with Microsoft products such as SQL-Server, operating systems, Crystal Reports, related products.