Is there a trick on setting a breakpoint in a shared DLL?

I’m new to windbg and am struggling with the basics. I’m using W2K as my
host and XP Build 2600 as my target.

I can set a break point in my driver entry, but I’m unable to set a
breakpoint in a DLL the driver is going to use. I receive the prompt that
it needs to go off and search the symbols. I respond, to do this
immediately and it either comes back with a lines not found message or it
hangs windbg. Any pointers would be appreciated.

I have two other issues that I’ve worked around, but I thought I’d mention
them since I’m here.

  1. On my host I’m using COM1 and a baud rate of 19200. The documentation
    says these are the defaults, but I was having problems with establishing the
    connection to the target so I explicitly set these values in my environment
    with _NT_DEBUG_BAUD_RATE and _NT_DEBUG_PORT. This didn’t help. Much later,
    out of desperation I set these values on the windbg command line. This
    solved the problem.

  2. The documentation says that multiple symbol paths can be used with a “;”
    delimiter. I do this, but have discovered, with the help of the noisy “-n”
    command line parameter that only the first directory listed is used. I just
    put all of my driver PDB files in the same directory structure as the XP
    symbols. Works, but isn’t very clean.

Anybody seen these problems? Do you have any info? Is the documentation
not only obtuse, but wrong lots of the time?

Clearly I need “The Complete Idiots Guide to Windbg”. Is there one?

Thanks for listening.

Michael S. Jackson
NetMotion Wireless, Inc.
xxxxx@nmwco.com


You are currently subscribed to windbg as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-windbg-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Are you using the latest debugger from
http://www.microsoft.com/ddk/debugging?

I can set a break point in my driver entry, but I’m unable to set a
breakpoint in a DLL the driver is going to use. I receive the prompt
that it needs to go off and search the symbols. I respond, to do this
immediately and it either comes back with a lines not found message or
it hangs windbg. Any pointers would be appreciated.

This is probably a symbol issue. Verify that you are
getting the right symbols for the dll.

  1. On my host I’m using COM1 and a baud rate of 19200. The
    documentation says these are the defaults, but I was having problems
    with establishing the connection to the target so I explicitly set these
    values in my environment with _NT_DEBUG_BAUD_RATE and _NT_DEBUG_PORT.
    This didn’t help. Much later, out of desperation I set these values on
    the windbg command line. This solved the problem.

I find it hard to believe that the defaults & env vars
did not work since this is something that a huge number of people rely
on working everyday. My guess is that you set the env vars incorrectly
or not at all.

  1. The documentation says that multiple symbol paths can be used with a
    “;” delimiter. I do this, but have discovered, with the help of the
    noisy “-n” command line parameter that only the first directory listed
    is used. I just put all of my driver PDB files in the same directory
    structure as the XP symbols. Works, but isn’t very clean.

Same comment as #1. Does .sympath show all the symbol
paths you think you set? Did you do .reload after chaging the symbol
path? Lastly the debugger stops looking for symbols once it finds some
that match the binary, so perhaps in your experient the symbols were
found in the first half of the path.

-----Original Message-----
From: Michael Jackson [mailto:xxxxx@nmwco.com]
Sent: Friday, September 14, 2001 11:17 AM
To: Kernel Debugging Interest List
Subject: [windbg] Is there a trick on setting a breakpoint in a shared
DLL?

I’m new to windbg and am struggling with the basics. I’m using W2K as
my host and XP Build 2600 as my target.

I can set a break point in my driver entry, but I’m unable to set a
breakpoint in a DLL the driver is going to use. I receive the prompt
that it needs to go off and search the symbols. I respond, to do this
immediately and it either comes back with a lines not found message or
it hangs windbg. Any pointers would be appreciated.

I have two other issues that I’ve worked around, but I thought I’d
mention them since I’m here.

  1. On my host I’m using COM1 and a baud rate of 19200. The
    documentation says these are the defaults, but I was having problems
    with establishing the connection to the target so I explicitly set these
    values in my environment with _NT_DEBUG_BAUD_RATE and _NT_DEBUG_PORT.
    This didn’t help. Much later, out of desperation I set these values on
    the windbg command line. This solved the problem.

  2. The documentation says that multiple symbol paths can be used with a
    “;” delimiter. I do this, but have discovered, with the help of the
    noisy “-n” command line parameter that only the first directory listed
    is used. I just put all of my driver PDB files in the same directory
    structure as the XP symbols. Works, but isn’t very clean.

Anybody seen these problems? Do you have any info? Is the
documentation not only obtuse, but wrong lots of the time?

Clearly I need “The Complete Idiots Guide to Windbg”. Is there one?

Thanks for listening.

Michael S. Jackson
NetMotion Wireless, Inc.
xxxxx@nmwco.com


You are currently subscribed to windbg as: xxxxx@microsoft.com To
unsubscribe send a blank email to leave-windbg-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to windbg as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-windbg-$subst(‘Recip.MemberIDChar’)@lists.osr.com