When you attach windbg.exe to user-mode process (here notepad.exe), it acts as user-mode debugger, so you could not track the kernel functions.
You need to check with debugger document to find out how to setup kernel debugging, you could use windbg.exe or kd.exe as the host kernel debugger.
Thanks,
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of serimc
Sent: Monday, March 10, 2008 03:49 PM
To: Kernel Debugging Interest List
Subject: Re: [windbg] What is ntdll!DbgBreakPoint?
Thank you for quick answer and sorry for the inattentive question.
When I learn that Windbg is kernel-mode “debugger”, I assume that it can show all the kernel functions that a process calls while working. So i attached it to notepad.
I wrote !uniqstack
It showed:
ChildEBP RetAddr
0007feb8 77d4919b ntdll!KiFastSystemCallRet
0007fed8 01002a1b USER32!NtUserGetMessage+0xc
0007ff1c 01007511 NOTEPAD!WinMain+0xe5
0007ffc0 7c816d4f NOTEPAD!WinMainCRTStartup+0x174
0007fff0 00000000 kernel32!BaseProcessStart+0x23
. 1 Id: 5f8.e68 Suspend: 1 Teb: 7ffdd000 Unfrozen
Start: ntdll!DbgUiRemoteBreakin (7c95077b)
Priority: 0 Priority class: 32 Affinity: 1
ChildEBP RetAddr
00bfffc8 7c9507a8 ntdll!DbgBreakPoint
00bffff4 00000000 ntdll!DbgUiRemoteBreakin+0x2d
Total threads: 2
I wrote !analyze -v
It showed:
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: kernel32!pNlsUserInfo ***
*** ***
I don’t understand why it says: “Your debugger is not using the correct symbols”
and only want to learn how can i see all (I hope this is not wrong)kernel-mode functions that a process calls, with WinDbg.
I hope i can explain.
Thanks again…
2008/3/11, Tim Roberts >:
xxxxx@gmail.commailto:xxxxx wrote:
> I am not experienced with WinDbg and kernel mode programming.
>
> I am trying some debugging and whatever i do, i see(for example attaching notepad.exe) :
> ntdll!DbgBreakPoint:
> 7c901230 cc int 3
>
> I don’t understand what the compiler trying to tell me. Something wrong?
> I only want to see what the function notepad is calling. What must i do when i see ntdll!DbgBreakPoint?
The “compiler” is not telling you anything.
When you attach to a process, the debugger inserts a new thread into
that process to help with the debugging. The first thing that thread
does is force a breakpoint, so that the debugger gets notified that it
has control. That’s what you’re seeing here. The process is halted
because this thread caused a breakpoint. Perfectly normal.
What do you mean by “the function notepad is calling”? Notepad calls
many thousands of functions. If you can be more specific, we might be
able to provide guidance.
–
Tim Roberts, xxxxx@probo.commailto:xxxxx
Providenza & Boekelheide, Inc.
—
You are currently subscribed to windbg as: xxxxx@gmail.commailto:xxxxx
To unsubscribe send a blank email to xxxxx@lists.osr.commailto:xxxxx
— You are currently subscribed to windbg as: xxxxx@microsoft.com To unsubscribe send a blank email to xxxxx@lists.osr.com</mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>