Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

AppVerifier and Windbg Under Visata x64

260 views
Skip to first unread message

Scott H.

unread,
Jan 3, 2008, 8:21:01 PM1/3/08
to
I have installed the 32 bit version of AppVerifier as well as the 32 bit
version of the debugger (Windbg) under Vista Ultimate x64. The machine that
I'm using in x86 based. When I execute Windbg -I, i receive the message
"Windbg was successfully installed as the default postmortem debugger." But
when I check the registry entry, it does no list the debugger. If I start
Windbg and open an executable, I receive the error "Could not create process
(path and executable name) Win32 error 0n50 This request is not supported."

Any ideas.
Thanks.
--
Scott H.

Ivan Brugiolo [MSFT]

unread,
Jan 3, 2008, 8:43:59 PM1/3/08
to
check both
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution
Options
and
HKLM\Software\wow6432\Microsoft\Windows NT\CurrentVersion\Image File
Execution Options

and make sure that you are using the proper debugger
that matches the registry key and the bit-ness of the process you are
running

--

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of any included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm


"Scott H." <Sco...@discussions.microsoft.com> wrote in message
news:DEF96062-29B7-40B6...@microsoft.com...

Scott H.

unread,
Jan 4, 2008, 8:22:02 AM1/4/08
to
Ivan, thanks for your reply.

The proper registry keys are set in HKLM\Software\wow6432\Microsoft\Windows
NT\CurrentVersion\AeDebug.

The Debugger value is set to "c:\Program Files (x86)\Debugging Tools For
Windows\windbg.exe" -p %ld -e %ld -g

And there are keys set in the HKLM\Software\wow6432\Microsoft\Windows
NT\CurrentVersion\Image File as well.

There is nothing in HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image
File or AeDebug.

I start Windbg from a command prompt where C:\Program Files (x86)\Debugging
Tools for Windows is in the path, so I must be using the 32 bit debugger. I
never installed the 64 bit version.

Does this mean the debugger is looking for a 64 bit application? I still do
not understand why I receive an error when I try and debug my 32 bit
application.

I have tried this on two different machines with the same results. I do have
this working on a machine using Vista Ultamite x32.

--
Scott H.

Jochen Kalmbach [MVP]

unread,
Jan 4, 2008, 8:40:35 AM1/4/08
to
Hi Scott!

> I start Windbg from a command prompt where C:\Program Files (x86)\Debugging
> Tools for Windows is in the path, so I must be using the 32 bit debugger. I
> never installed the 64 bit version.

And so you have installed a 32-Bit debugger and it has registered for
32-Bit applications.

> Does this mean the debugger is looking for a 64 bit application?

No. 64-Bit apps are not looking into the wow6432 subkey...

> I still do not understand why I receive an error when I try and debug my 32 bit
> application.

What error do you receive?

> I have tried this on two different machines with the same results. I do have
> this working on a machine using Vista Ultamite x32.

Is you application 32-Bit or 64-Bit?

Greetings
Jochen

Ivan Brugiolo [MSFT]

unread,
Jan 4, 2008, 2:20:18 PM1/4/08
to
Which keys are set under `Image File Execution Options` ?
I just tried the plain `c:\debuggers_x86\windbg -I` and manually
injecting a fault in notepad.exe-32bit on an X64-WS2008 machine,
and everything worked as expected.
I suspect you have a conflicting set of debugger specifications
(for example, you are using a path with spaces under
`Image File Execution Options\<imagename.exe>\Debugger = <path with spaces>)

--

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of any included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm


"Scott H." <Sco...@discussions.microsoft.com> wrote in message

news:884CD492-D893-433A...@microsoft.com...

Jochen Kalmbach [MVP]

unread,
Jan 4, 2008, 3:11:40 PM1/4/08
to
Hi Ivan!

> I suspect you have a conflicting set of debugger specifications
> (for example, you are using a path with spaces under
> `Image File Execution Options\<imagename.exe>\Debugger = <path with spaces>)

It seems that this is an restriction in the "Debugger" keyword:
For example see:
http://support.microsoft.com/kb/238788/en-us

<quote>
Note: The path that points to the WinDBG debugger must not contain any
spaces or file extensions. For example, windbg, as shown in the following:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image
File Execution Options\yourCGI.exe "Debugger"="C:\windbg"
</quote>

--
Greetings
Jochen

My blog about Win32 and .NET
http://blog.kalmbachnet.de/

Ivan Brugiolo [MSFT]

unread,
Jan 4, 2008, 3:54:12 PM1/4/08
to
It just MUST not have spaces.
The file-extension restriction is there only if you have
non trivial extension mapping (such as you want to use a perl-script
as a debugger).
For plain *.exe, you can happily put .exe.

--

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of any included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm


"Jochen Kalmbach [MVP]" <nospam-Joch...@holzma.de> wrote in message
news:OoTFH4wT...@TK2MSFTNGP02.phx.gbl...

Jochen Kalmbach [MVP]

unread,
Jan 4, 2008, 3:55:16 PM1/4/08
to
Hi Ivan!

> I suspect you have a conflicting set of debugger specifications
> (for example, you are using a path with spaces under
> `Image File Execution Options\<imagename.exe>\Debugger = <path with spaces>)

You as small addition:
To be sure, you need to create the "Image File Execution Options" in
*both* nodes (normal and wow6432); because the process which calls
"CreateProcess" determins what node will be read.
So if your _launching_ program ist 64-Bit, it looks in the "normal"
node; if you _launching_ progranm is 32-Bit it will look into the
wow6432 node!

See: Inside 'Image File Execution Options' debugging
http://blogs.msdn.com/greggm/archive/2005/02/21/377663.aspx

Scott H.

unread,
Jan 7, 2008, 8:18:02 AM1/7/08
to

I uninstalled the debugger and reinstalled to a path without spaces. This
does not seem to help. The only executable that I have found that I can open
without errors from within Windbg is Signtool.exe. Any other application I
try to open generates the error identified in the original post. I have tried
openning Notepad.exe and even the "Hellow World" executable generated from VS
2005 as well as several other executables and they all generate the same
error.

There are several keys found under Image File Execution Options:

ApplicationVerifierGlobalSettings
DINXOptions
IEInstl.exe
MyAppliction.exe
COM
Core
Exceptions
Handles
Heaps
Locks
Memory
RPC
ThreadPool
TLS

The String Value Debugger exists under MyApplication.exe with the path
pointing to windbg.exe

--
Scott H.

Ivan Brugiolo [MSFT]

unread,
Jan 7, 2008, 1:57:34 PM1/7/08
to
Let's work on one piece at the time.

Remove any key from under `Image File Execution Options` related to your
image
from both the native native registry and the wow3264node.

Create only this
`Image File Excution Options\notepad.exe`
Debuggers = REG_SZ c:\debuggers\ntsd.exe -g -G
From a 64-bit command prompt, start notepad.exe

Repeat the exercise from a 32-bit command prompt
(start %windir%\syswow64\cmd.exe), after
you have created the relevant keys under wow3264node.

--

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of any included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

"Scott H." <Sco...@discussions.microsoft.com> wrote in message

news:1DA97797-0C42-4309...@microsoft.com...

Scott H.

unread,
Jan 7, 2008, 5:41:00 PM1/7/08
to
I have made the requested changes to both the native and 64 bit areas of the
registry.

When I open a 64-bit command prompt and type notepad.exe, an additional
command prompt opens with debug info such as symbol path and module
information and so on. This of course also opens a session of notpad.

When I execute notepad from a 32-bit command prompt, only a session of
notepad opens.

Ivan Brugiolo [MSFT]

unread,
Jan 8, 2008, 6:28:17 AM1/8/08
to
I cannot tell from this end what's wrong with your machine.
I've just tried what I recomended below on WinSrv2008-x64
and I was able to leverage the wow6432 Image-File-Execution-Options
to accomplish what was intended.
Just to be on the safe side: you were specifying a 32-bit debugger for the
wow6432 version of Image-File-Execution-Options ?

--

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of any included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm


"Scott H." <Sco...@discussions.microsoft.com> wrote in message

news:FC33C636-3712-44B1...@microsoft.com...

0 new messages