Re: How to prepare a kernel driver pdb file for TraceView
- From: "Eliyas Yakub [MSFT]" <eliyasy@xxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 8 Jan 2007 08:21:05 -0800
You are using the wrong toaster driver. The KMDF version doesn't do any tracing. Use the WDM version - C:\WinDDK\6000\src\general\toaster\func\featured2
-Eliyas
"Carey McMaster" <mcmaster@xxxxxxxxxxx> wrote in message news:ujisZkzMHHA.5064@xxxxxxxxxxxxxxxxxxxxxxx
Thanks for that Ken. Your suggestion to copy the .dll to the x86 dir works fine. I'm using my trusty XP (sp2) development system (Standard Dell Optiplex GX280).
*** Ok so now I get
======================================================================
\WinDDK\6000\src\kmdf\toaster\func\featured\objchk_wxp_x86\i386>tracepdb -f wdffeatured.
pdb -p tmf
Microsoft (R) TracePDB.Exe (6.0.6000.16386)
? Microsoft Corporation. All rights reserved.
tracepdb : info BNP0000: WPPFMT No Trace entries found in wdffeatured.pdb
C:\WinDDK\6000\src\kmdf\toaster\func\featured\objchk_wxp_x86\i386>
======================================================================
Which is what Eliyas wanted me to check. I'm compiling the WDK 6000 demo's unmodified on XP Pro. Do I need to do something else to get tracing turned on? Is it a bad assumption that tracing should be enabled by default in a checked environment?
thanks again!
-cm
"Skywing [MVP]" <skywing_NO_SPAM_@xxxxxxxxxxxxxxxxxxx> wrote in message news:%239tF7oQMHHA.4384@xxxxxxxxxxxxxxxxxxxxxxxThat is probably the root cause of your problem. In the absense of manifests or .local files, the following algorithm is used to find DLLs
1. Directory containing the main executable file for the process.
2. Directory specified by the SetDllDirectory API, if this API has been called.
3. System directory.
4. Win16 system directory.
5. Windows directory.
6. %PATH%, in order of appearance in the environment variable.
My guess is that you are getting down to #3, and as there is a dbghelp.dll in the system directory, it is being loaded.
You might try copying the dbghelp.dll in bin\x86 to the directory containing tracepdb.exe and seeing if that works.
BTW, my supposition as to why this is working for Eliyas and not you is that Eliyas is using Windows Vista (which ships a new enough version of dbghelp so as to have SymSearch/SymSearchW), and you are using a non-Vista/Windows Server "Longhorn" version (perhaps Windows XP) that ships an old dbghelp which does not meet the requriements of tracepdb.exe. My guess is that nobody bothered testing this functionality on pre-Vista systems, so this slipped through to the RTM WDK.
--
Ken Johnson (Skywing)
Windows SDK MVP
http://www.nynaeve.net
"Carey McMaster" <mcmaster@xxxxxxxxxxx> wrote in message news:%23iLyaZQMHHA.4928@xxxxxxxxxxxxxxxxxxxxxxxKen,
There are 7 different versions of dbghelp.dll on my system (arghhhh).
In my XP x86 Checked env cmd window c:\winddk\6000\bin\x86 is the first path entry to have dbghelp.dll. I tried the debug method you gave me, and it shows that it is getting dbghelp.dll from \windows\system32 though my path says different. Am I hosed? Are the tracing tools hosed?
thanks,
-cm
"Skywing [MVP]" <skywing_NO_SPAM_@xxxxxxxxxxxxxxxxxxx> wrote in message news:%23mPfwGQMHHA.3288@xxxxxxxxxxxxxxxxxxxxxxxIs it possible that the wrong version of dbghelp.dll (perhaps an old version in %systemroot%\system32) is being loaded instead? Try starting the process under a debugger (perhaps attach to the cmd instance associated wth the DDK build environment, use `.childdbg 1' and run the tracepdb command from there. Note the path to the loaded dbghelp.dll instance and make sure it's really the newer one in bin\x86 and not the old version that ships with the OS.
--
Ken Johnson (Skywing)
Windows SDK MVP
http://www.nynaeve.net
"Carey McMaster" <mcmaster@xxxxxxxxxxx> wrote in message news:eDgJhvPMHHA.2232@xxxxxxxxxxxxxxxxxxxxxxxEliyas, I get the same output as you do. Dbghelp.dll contains SymSearch at 145 and 146. I'm searching my disk for more dbghelp.dll
"Eliyas Yakub [MSFT]" <eliyasy@xxxxxxxxxxxxxxxxxxxx> wrote in message news:OAAB7fPMHHA.3268@xxxxxxxxxxxxxxxxxxxxxxxYou get this error if the dbghelp.dll doesn't have SymSearch function exported. Can you check your dgbhelp.dll to see if it exports this function?
This how you check for it.
C:\WinDDK\6000\tools\tracing\i386>link /dump /exports C:\WinDDK\6000\bin\x86\dbghelp.dll | findstr SymSearch
145 90 00037E40 SymSearch
146 91 00037EB0 SymSearchW
-Eliyas
.
- Follow-Ups:
- Re: How to prepare a kernel driver pdb file for TraceView
- From: Carey McMaster
- Re: How to prepare a kernel driver pdb file for TraceView
- References:
- Re: How to prepare a kernel driver pdb file for TraceView
- From: Carey McMaster
- Re: How to prepare a kernel driver pdb file for TraceView
- From: Don Burn
- Re: How to prepare a kernel driver pdb file for TraceView
- From: Eliyas Yakub [MSFT]
- Re: How to prepare a kernel driver pdb file for TraceView
- From: Carey McMaster
- Re: How to prepare a kernel driver pdb file for TraceView
- From: Eliyas Yakub [MSFT]
- Re: How to prepare a kernel driver pdb file for TraceView
- From: Carey McMaster
- Re: How to prepare a kernel driver pdb file for TraceView
- From: Skywing [MVP]
- Re: How to prepare a kernel driver pdb file for TraceView
- From: Carey McMaster
- Re: How to prepare a kernel driver pdb file for TraceView
- From: Skywing [MVP]
- Re: How to prepare a kernel driver pdb file for TraceView
- From: Carey McMaster
- Re: How to prepare a kernel driver pdb file for TraceView
- Prev by Date: Re: How to prepare a kernel driver pdb file for TraceView
- Next by Date: Re: proxy arp
- Previous by thread: Re: How to prepare a kernel driver pdb file for TraceView
- Next by thread: Re: How to prepare a kernel driver pdb file for TraceView
- Index(es):
Relevant Pages
|