Re: How to prepare a kernel driver pdb file for TraceView



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@xxxxxxxxxxxxxxxxxxxxxxx
That 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@xxxxxxxxxxxxxxxxxxxxxxx
Ken,

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@xxxxxxxxxxxxxxxxxxxxxxx
Is 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@xxxxxxxxxxxxxxxxxxxxxxx
Eliyas, 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@xxxxxxxxxxxxxxxxxxxxxxx
You 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









.



Relevant Pages

  • Re: How to prepare a kernel driver pdb file for TraceView
    ... In the absense of manifests or .local files, the following algorithm is used to find DLLs ... Win16 system directory. ... BTW, my supposition as to why this is working for Eliyas and not you is that Eliyas is using Windows Vista, and you are using a non-Vista/Windows Server "Longhorn" version that ships an old dbghelp which does not meet the requriements of tracepdb.exe. ... 145 90 00037E40 SymSearch ...
    (microsoft.public.development.device.drivers)
  • Re: exec: redefine search path
    ... The 32-bit Windows system directory. ... trojan horse in a directory that I happen to be running in. ... searching the system directories first does protect ...
    (comp.lang.tcl)
  • Re: ERROR MESSAGE when installing MS-DOS or 16 bit progam.....
    ... Windows is on the BOOT drive. ... C:\ is the System Drive (ie where NTLDR is). ... > It means the root of your system directory, ... I keep getting that error message: ...
    (microsoft.public.windowsxp.help_and_support)
  • Re: ERROR MESSAGE when installing MS-DOS or 16 bit progam.....
    ... Windows is on the BOOT drive. ... C:\ is the System Drive (ie where NTLDR is). ... > It means the root of your system directory, ... I keep getting that error message: ...
    (microsoft.public.windowsxp.general)
  • Re: Kerberose messages while File Replication
    ... replication service on window 2003 as client and another as Windows 2003 as ... happening in Kerberos by turning on Kerb logging or using Netmon. ... API tracing: 0x00000008 ... Credential related tracing: 0x00000010 ...
    (microsoft.public.windows.server.security)