I am trying to use the Inspect Object app (inspect.exe) that comes with the WinSDK to look at the MSAA hierarchy of my app, but it almost always crashes. I get the "Inspect Object (64-bit UNICODE Release) has stopped working" dialog up, frequently right after launching the app, sometimes after I browse around the left-hand tree view a bit. I have also tried the 32-bit release, as well as the versions from the Win8 SDK when I was still working on Windows 8. This app rarely works.
Is there a known conflict with some other app? A system or registry setting that causes problems with Inspect?
When I attach a debugger to Inspect Object, I get the following info:
Unhandled exception at 0x00007FFD7407E00C (ntdll.dll) in inspect.exe: 0xC0000374: A heap has been corrupted (parameters: 0x00007FFD740D22B0).
> ntdll.dll!RtlReportCriticalFailure() Unknown
ntdll.dll!RtlpHeapHandleError() Unknown
ntdll.dll!RtlpLogHeapFailure() Unknown
ntdll.dll!RtlFreeHeap() Unknown
oleaut32.dll!APP_DATA::FreeCachedMem(void *,unsigned long) Unknown
oleaut32.dll!SysFreeString() Unknown
inspect.exe!AUI_PropertyValueToString(struct PropertyValue *,int (*)(struct PropertyValue *,unsigned short * *),struct EnumInfo *,unsigned short * *) Unknown
inspect.exe!ObjectManager::GetElementInfo(unsigned int,int *,int *,int,unsigned short * *,unsigned short * *,struct tagRECT *,int *,unsigned short * * *,unsigned int *) Unknown
inspect.exe!DisplayObjectProperties(unsigned short const *,struct HWND__ *,int) Unknown
inspect.exe!DisplayTreeSelected(void) Unknown
inspect.exe!MainWindowProc(struct HWND__ *,unsigned int,unsigned __int64,__int64) Unknown
user32.dll!UserCallWinProcCheckWow() Unknown
user32.dll!SendMessageWorker() Unknown
user32.dll!SendMessageW() Unknown
inspect.exe!UITreeView_HandleNotify(struct HWND__ *,unsigned __int64,__int64,__int64 *) Unknown
inspect.exe!MainWindowProc(struct HWND__ *,unsigned int,unsigned __int64,__int64) Unknown
user32.dll!UserCallWinProcCheckWow() Unknown
user32.dll!SendMessageWorker() Unknown
user32.dll!SendMessageW() Unknown
comctl32.dll!CCSendNotify() Unknown
comctl32.dll!TV_SendSelChange(struct _TREE *,int,struct _TREEITEM *,struct _TREEITEM *,unsigned int) Unknown
comctl32.dll!TV_SelectItem(struct _TREE *,unsigned __int64,struct _TREEITEM *,unsigned int,unsigned int) Unknown
comctl32.dll!TV_WndProc(struct HWND__ *,unsigned int,unsigned __int64,__int64) Unknown
user32.dll!UserCallWinProcCheckWow() Unknown
user32.dll!CallWindowProcW() Unknown
inspect.exe!UITreeViewWndProc(struct HWND__ *,unsigned int,unsigned __int64,__int64) Unknown
user32.dll!UserCallWinProcCheckWow() Unknown
user32.dll!DispatchClientMessage() Unknown
user32.dll!__fnDWORD() Unknown
ntdll.dll!KiUserCallbackDispatcherContinue() Unknown
user32.dll!NtUserSetFocus() Unknown
comctl32.dll!TV_ButtonDown(struct _TREE *,unsigned int,unsigned int,int,int,unsigned int) Unknown
comctl32.dll!`DuiTelemetry::Instance(void)'::`2'::`dynamic atexit destructor for 'wrapper''(void) Unknown
user32.dll!UserCallWinProcCheckWow() Unknown
user32.dll!CallWindowProcW() Unknown
inspect.exe!UITreeViewWndProc(struct HWND__ *,unsigned int,unsigned __int64,__int64) Unknown
user32.dll!UserCallWinProcCheckWow() Unknown
user32.dll!DispatchMessageWorker() Unknown
inspect.exe!WinMain() Unknown
inspect.exe!WinMainCRTStartup() Unknown
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown