Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
things about the world, world of things
The symbolic link cannot be followed because its type is disabled
When access a symbolic link on a file server, sometimes you may see the following error: "The...
Date: 05/07/2012
Getting where the exception is thrown in Windows Error Report for managed application without a dump
A while ago, an internal thread shows how to get where the exception is thrown in Windows Error...
Date: 07/27/2009
Internal Manifest vs External Manifest
Internal manifest is the RT_MANIFEST resource in the executable. External manifest is...
Date: 05/11/2009
CLR HRESULT
CLR HRESULT’ facility code is 0x13. If an HRESULT error is 0x8013xxxx, it is likely a CLR error. All...
Date: 03/02/2009
Be careful about exception after resource allocation
The following is a common code pattern Resource resource = GetResource(); DoWork(); return resource;...
Date: 02/02/2009
Exception Filter
C# does not support exception filter. However, VB and IL support it. To add exception filter to C#,...
Date: 12/08/2008
ThreadPool.BindHandle
I mentioned that we can use ThreadPool.BindHandle to implement asynchronous IO. Here are roughly the...
Date: 12/01/2008
ThreadPool.UnsafeQueueNativeOverlapped
CLR’s thread pool has two pools of threads. The first pool is used by ThreadPool.QueueUserWorkItem....
Date: 11/24/2008
Conversion between System.String and char *
We can convert a char * to System.String with System.String’s constructor string str = new...
Date: 08/11/2008
XXX is not a valid Win32 application
If you have used your Vista SP1-based computer for extended period, you may experience some problems...
Date: 08/04/2008
Managed ThreadPool vs Win32 ThreadPool (pre-Vista)
The following is a conversation between me and a CLR dev. The conversation is very informative so I...
Date: 07/21/2008
Managed Watson Dump
From .Net Framework 2.0, Dr. Watson is able to generate dump compatible with .Net framework. This...
Date: 07/14/2008
Inspect a 32 bit Process Dump Generated by a 64 bit Debugger
64 bit Windows can run both 32 bit process and 64 bit process. For debugging though, you want to use...
Date: 06/30/2008
Getting a Full Memory Dump for a Process
To diagnose a problem for a remote customer, sometimes the easiest way is to have the customer...
Date: 06/19/2008
Event Handles “leak”
On our stress run, we saw our process’ handle count steadily increases until certain point, then it...
Date: 04/28/2008
Use !htrace to debug handle leak
Windbg Debugger’s !htrace extension is very handy to debug handle leak. The process essentially...
Date: 04/21/2008
Consider Creating a new class for locking
C# provides keyword lock for synchronized access. A good practice is to create a private object for...
Date: 04/14/2008
A case study of a NullReferenceException
We are seeing a NullReferenceException in our stress program. The investigation process may be...
Date: 04/07/2008
App Config’s root element should be namespace-less
The root element for Application config file is <configuration> <?xml...
Date: 03/24/2008
Getting the right exception context from a memory dump
When debug a memory dump, the dump may not in the right exception context when it is first loaded in...
Date: 03/03/2008
Calculating the size of each GC generation
Sos.dll does not have a command to tell the size of each GC generation. However, you can calculate...
Date: 02/25/2008
Figuring out object allocation graph from a managed memory dump
when debugging a managed memory dump, we can use Sos.dll to inspect managed objects inside the dump....
Date: 02/21/2008
Windows Update Error 0x800A0030
The other day my Windows XP machine suddenly can not use Windows Update. Internet Explorer went to...
Date: 02/18/2008
Windows Performance Tools Kit
Windows Performance Team has released Windows Performance Tools Kit to the Windows SDK for Windows...
Date: 02/11/2008
Reverse P/Invoke and exception
P/Invoke is managed code executing a native function pointer. And Reverse P/Invoke is native code...
Date: 01/28/2008
From Unhandled Exception to Debugger Attach
I was always wondering what is happening between an application throws an unhandled exception, and a...
Date: 11/19/2007
Assembly Loading and Authorization
CLR does not do anything special regarding authorization during assembly loading. It will try to...
Date: 11/12/2007
Mismatched PDBs --- Why?
If you are developing software, most likely you have encountered the "mismatched pdbs" debugger...
Date: 11/05/2007
Windows Vista Sxs Activation Context Cache
Sxs activation model is built on top of Actication Context. To create an activation context, use the...
Date: 10/01/2007
Configuring IIS to Run 32-bit or 64 bit Applications on 64-bit Windows (IIS 6.0)
I was trying VMWare Server on a 64 bit Windows Server 2003 machine to see if I can use it to create...
Date: 09/03/2007
MiniDumpAuxiliaryDlls and KnownManagedDebuggingDlls
I accidentally stumble on these two registry keys. And the expert in Windows Debugger team answers...
Date: 08/20/2007
Loading CLR DAC dll from a different path
From .Net framework 2.0, CLR creates a debugger helper dll mscordacwks.dll. The dll is used by...
Date: 08/13/2007
The Unusual Ref/Def Mismatch FileLoadException
One of my colleagues has experienced a very strange Ref/Def Mismatch FileLoadException (The located...
Date: 08/06/2007
The sequence of interactions between CLR loader and fusion during Assembly.Load
The following describes roughly the sequence of interactions between CLR loader and fusion during...
Date: 08/06/2007
advantages and disadvantages of delay load (LoadLibrary)
Some knowledgeable people posted the following wisdom about delay load. Archived here to share. The...
Date: 08/01/2007
Lock(object) and ThreadAbortException
We have experience some weird deadlock using managed code. We have a class with some shared...
Date: 07/30/2007
Don't catch all exceptions
One of the best practices on exception is don't catch all exceptions. There are many reasons why...
Date: 07/25/2007
Finding Memory leaks
MSDN and Microsoft support web site have some great information on how to find memory leaks, both...
Date: 07/23/2007
Questions and Suggestions -- July 20th Edition
This is the re-occuring post for questions and suggestions. I will not be able to provide any...
Date: 07/20/2007
64 bit gacutil.exe
32 bit gacutil.exe can install/uninstall/enumerate 64 bit assemblies for GAC, so there is really no...
Date: 07/19/2007
Unknown exception 0xe0434f4e
If you attach windows debugger to a .Net framework application, occasionally you may see debug spew...
Date: 07/16/2007
BadImageFormatException maybe thrown when loading a valid assembly
We saw some cases when loading a perfect valid assembly, CLR may throw BadImageFormatException...
Date: 07/11/2007
Reverse P/Invoke Marshaling Performance
Platform Invoke allows managed code to call unmanaged functions exported by an DLL. While the...
Date: 07/09/2007
Break on exception in Windows Debugger
In Windows Debugger, we can break on C++ exception by doing "sxe eh". We can also break on CLR...
Date: 07/05/2007
RT_MANIFEST resource, and ISOLATION_AWARE_ENABLED
RT_MANIFEST Since Windows XP, Windows reserves a new type of resource RT_MANIFEST for SxS manifests....
Date: 06/26/2007
Diagnose SideBySide failures in Windows XP/Windows Server 2003
Since I published my article on how to diagnose SideBySide failures, I have received many feedbacks...
Date: 06/12/2007
Activation Context Creation flow
The following describes how activation context is created currently in Windows XP/Windows Server...
Date: 06/12/2007
Genman32 – A tool to generate Sxs manifest for managed assembly for Registration Free COM/.Net Interop
Attached to this article is GenMan32, a tool to generate sxs manifest for managed assembly to use in...
Date: 04/14/2007
Connect Kernel Debugger to a Virtual PC/Virtual Server virtual machine
Virtual Machine completely changes how people test software (Well, definitely me.). Create a virtual...
Date: 04/04/2007
Understand why your computer restarted unexpectedly
Many people have experienced unexpected computer restarts. Unexpected restarts can be caused by bugs...
Date: 03/23/2007