No data from desktop heap monitor (dheapmon.exe) on WinXP - winapi

Has anyone seen this error? I'm able to install and load the desktop heap monitor but I can't get any data from it:
C:\kktools\dheapmon8.1\x86>"c:\Program Files\Debugging Tools for Windows (x86)\symchk.exe" c:\windows\system32\win32k.sys
C:\kktools\dheapmon8.1\x86>dheapinst.exe -y c:\symbols\
dheapinst - Desktop Heap Monitor installed successfully
C:\kktools\dheapmon8.1\x86>dheapmon.exe -l
Desktop Heap Information Monitor Tool (Version 8.1.2925.0)
Copyright (c) Microsoft Corporation. All rights reserved.
Dheapmon - Driver loaded successfully
C:\kktools\dheapmon8.1\x86>dheapmon.exe
Desktop Heap Information Monitor Tool (Version 8.1.2925.0)
Copyright (c) Microsoft Corporation. All rights reserved.
Dheapmon - Could not detect the required kernel data. Prepare the appropriate symbol file and reinstall dheapmon.

After running the dheapinst.exe program, the Desktop Heap Monitor is installed into "%SystemRoot%\system32\kktools". You must run the tool from there.

Related

Why doesn't pressing the up arrow get the previous command in nested processes

On the command line, I can retrieve previous commands by pressing the up / down arrow keys. This doesn't work however if I nest CMDs beyond a certain depth. Why is that so and is there a way to make it work?
To reproduce, open CMD and run:
Microsoft Windows [Version 10.0.19042.1110]
(c) Microsoft Corporation. All rights reserved.
C:\>cmd
Microsoft Windows [Version 10.0.19042.1110]
(c) Microsoft Corporation. All rights reserved.
C:\>cmd
Microsoft Windows [Version 10.0.19042.1110]
(c) Microsoft Corporation. All rights reserved.
C:\>cmd
Microsoft Windows [Version 10.0.19042.1110]
(c) Microsoft Corporation. All rights reserved.
C:\>cmd
Microsoft Windows [Version 10.0.19042.1110]
(c) Microsoft Corporation. All rights reserved.
C:\>echo lands
lands
C:\>rem Pressing up here doesn't bring back "echo lands"
For more context:
I have a REPL in my Python discord.py bot which uses a subclass of the builtin code module's InteractiveConsole class that supports getting previous lines using the arrow keys (tested it by itself). I use Pew to run my bot in the right virtual environment (with pew in bot python bot.py).
The arrow keys don't work. When I run my bot, Task Manager shows 6 extra processes (processes other than the original cmd.exe and Console Window Host):
pew # Pew's executable on the PATH
python # Pew's virtual environment's Python
python # Global Python
cmd # Pew does subprocess.run(..., shell=True)
python # Bot's virtual environment's Python
python # Global Python
To confirm that it was solely the number of nested processes that mattered, I tried two more things. First, I installed Pew globally (with pip install pew) and ran the bot using python -m pew .... There were 4 extra processes (3 Pythons and 1 CMD) and the arrow keys still didn't work. Then, I made a fork of Pew that doesn't create an intermediate shell and ran the bot using it. There were 3 extra processes (all Pythons) and the arrow keys worked inside the REPL.
I still don't know why this happens, but I've resorted to using ConEmu which doesn't suffer from this issue.

DCompositionCreateDevice2: E_INVALIDARG One or more arguments are invalid

Having an unusual problem running Win32C++ source codes with the function DCompositionCreateDevice2, which is compiled with VS 2015.
The source codes compile without any error but display the above runtime error. Recompiling and running the same source codes with VS 2019, there is no runtime error.
The test sample codes are Windows SDK samples listed below:
TouchInputDirectManipulation
DCompV2BackfaceandD2DBatching
Any idea what could be the source of this problem? I am working on WTL open source project, and do not want to restrict the build environment to VS 2019.
This is actually an unusual issue... What happens is Microsoft has seriously messed up dcomp.lib between the Windows 8.1 SDK and the Windows 10 SDK.
Here is what you see if you dump the Windows 8.1 SDK dcomp.lib exports:
C:\>dumpbin "C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64\dcomp.lib" /exports
Microsoft (R) COFF/PE Dumper Version 14.28.29914.0
Copyright (C) Microsoft Corporation. All rights reserved.
Exports
ordinal name
DCompositionCreateDevice
1017 DCompositionCreateDevice2
DCompositionCreateSurfaceHandle
And here is what you see if you dump the Windows 10 SDK dcomp.lib exports:
C:\>dumpbin "C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64\dcomp.lib" /exports
Microsoft (R) COFF/PE Dumper Version 14.28.29914.0
Copyright (C) Microsoft Corporation. All rights reserved.
Exports
ordinal name
DCompositionAttachMouseDragToHwnd
DCompositionAttachMouseWheelToHwnd
DCompositionCreateDevice
DCompositionCreateDevice2
DCompositionCreateDevice3
DCompositionCreateSurfaceHandle
As you can see the DCompositionCreateDevice2 was defined with ordinal 1017 initially. When you build your program using the Windows 8.1 SDK (which is how theses samples are currently defined), you get that using dumpbin:
C:\>dumpbin c:\mypath\TouchInputDirectManipulation\cpp\x64\Debug\DirectManipulationSample.exe /imports
Microsoft (R) COFF/PE Dumper Version 14.28.29914.0
Copyright (C) Microsoft Corporation. All rights reserved.
Section contains the following imports:
dcomp.dll
140054570 Import Address Table
140054E98 Import Name Table
0 time date stamp
0 Index of first forwarder reference
Ordinal 1017
So, your .exe is linked to ordinal 1017, not to exported name DCompositionCreateDevice2.
The problem is, with Windows 10 (I think you're running on Windows 10), dcomp ordinal 1017 is not DCompositionCreateDevice2 but DCompositionAttachMouseDragToHwnd! This can be confirmed if you debug your program, you land into that function that doesn't like what you send to it and reports E_INVALIDARG.
So the solution is to change the SDK if you target Windows 10:
Or simply use GetProcAddress("DCompositionCreateDevice2") etc. to dcomp.dll to make sure you get the good one.
This should be reported to Microsoft I guess...

c0000005 exception in ext. analyze debugger extension

I am starting the service of our companies product and w3wp.exe crashes at the same time.
I have a system crash dump. When I try to analyze it in Windbg, I get the following error:
c0000005 Exception in ext.analyze debugger extension.
PC: 00000000`08867875 VA: 00000000`00000000 R/W: 0 Parameter: 00000000`00000000
it is an access violation error in ext debugger extension
if you are running a latest version of windbg try downloading an older version of windbg
that should solve the issue
the latest windbg version as well as insider preview versions do not run correctly in os like windows 7 and spit out various errors including dependency erors
these versions of windbg are probably tested only on the bleeding edge of the day like windows rs3 redstone wtc and aren't backward compatible
Microsoft (R) Windows Debugger Version 10.0.17061.1000 X86
Copyright (c) Microsoft Corporation. All rights reserved.
CommandLine: calc
The call to LoadLibrary(ext) failed, Win32 error 0n127 <<<<<<<<<<<<
"The specified procedure could not be found."
Please check your debugger configuration and/or network access.

OpenCL: Strong name validation failed while creating a new opencl project

This is the OpenCL first tutorial I am following.
I am unable to create new OpenCL project. When I try to create new OpenCL project in visual studio 2010 on windows 7, 64 bit , I get "Strong name validation failed. (Exception from HRESULT: 0x8013141A)" error. And thus it fails to create new project.
Reading some forum says, I have to do some thing with the dll . But I have no idea what is being said.
Some advice is at :http://www.lookout.net/2006/04/bypassing-strong-name-verification-for.html which ask me to do this:
sn -Vr *,36e4ce08b8ecfb17
But what do I put for 36e4ce08b8ecfb17, this is the name of the assembly, but what is the name of the assembly in my case? I am facing this issue at the beginning, when I just try to create New OpenCL project.
Can some one give me a hint specific to OpenCL ?
Then I click OK , and I get this:
What I tried
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>sn -Vl
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Assembly/Strong Name Users
===========================================
*,* All users
iisresolver,B03F5F7F11D50A3A All users
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>sn -Vr * ,B03F5F7F11D50A3
A
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Failed to open registry key -- Unable to format error message 00000005
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>sn -Vr iisresolver , B03F
5F7F11D50A3A
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Failed to open metadata scope on iisresolver -- The system cannot find the file
specified.
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>sn -Vr * , *
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Failed to open registry key -- Unable to format error message 00000005
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>
After I used elevated permission of CMD
C:\Windows\system32>sn -Vr * ,B03F5F7F11D50A3A
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Verification entry added for assembly '*,B03F5F7F11D50A3A'
No gain here , so tired this:
C:\Windows\system32>sn -Vr * ,*
Microsoft (R) .NET Framework Strong Name Utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Verification entry added for assembly '*,*'
C:\Windows\system32>
Unfortunately no gain.
this is an annoying issue that can easily be sidestepped for development purposes.
To disable the strong name validating, simply open the visual studio command-line (for example, in Windows 7: Start >> All Programs >> Microsoft Visual Studio 2010 >> Visual Studio Tools >> Visual Studio Command Prompt (2010) )
Then type sn -Vl which will return you a list of all the assemblies registered for strong name validation.
Then type sn -Vr *,idnumberhere to disable the strong name validation for that assembly.
In the case of the error you are receiving ( Failed to open registry key -- Unable to format error message 00000005), this is most often related to permissions: your username may not have the necessary permissions to change strong name validation hence change the permissions on C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA to allow full access to your username as well and all should be fine again:)
Also, ensure that you run the VS command-line with elevated privileges so select Run as Administrator.
Hope this helps. :)
Let me know if you need more information as well though:)
This error is probably due to error Windows Registry try to modify it
or
install Intel or AMD OpenCL SDK on your machine, try to create the project again
or Update the include and library paths of the project to load the required information from the OpenCL SDK installed
I had this same exact problem today, and unfortunately, wasn't able to get it to work using sn.exe.
However, a workaround that worked for me was to just use one of Intel's sample programs as a starting project, and modify it from there. (For example the basic capabilities sample)

dbghelp.dll has a version mismatch with the debugger

I have been getting the following error while trying to open the crash dump file in the WinDbg....
I am using 64bit version and having windows 7 OS.
versionof the WinDbg is 6.11
Error:
"dbghelp.dll has a version mismatch with the debugger."
Microsoft (R) Windows Debugger Version 6.11.0001.404 AMD 64
Copyright (C) Microsoft Corporation. All rights reserved.
It says about the dbgeng and dbghelp, but in the message I see both versions are same.
And another popup comes on top of these error message which says
Failure when opeining dump file "file path" , HRESULT 0x80004005
It may be corrupt or in a format not understood by the debugger.
Unspecified error.
Any help or suggestion would be helpful here.
Thanks

Resources