Windows 如何使用WinDbg隔离程序的内核调用?

Windows 如何使用WinDbg隔离程序的内核调用?,windows,kernel,windbg,Windows,Kernel,Windbg,我正在尝试使用WinDbg调试在加载特定程序时发生的内核调用。内核模式代码中出现错误。内核函数是在机器上运行的许多进程上每秒发生多次的极为常见的调用。因此,如何隔离内核调用来调试它?例如,如果我在nt上放置断点!NtCreateSection或ntdll!RtlEnterCriticalSection,WinDbg将中断很多次,以至于我甚至无法进入操作系统并启动相关程序,因为它将中断对内存中所有其他程序正在使用的函数的调用,而不是我试图调试的目标程序。请指定解决此问题的方法,并针对内核调用的特定

我正在尝试使用WinDbg调试在加载特定程序时发生的内核调用。内核模式代码中出现错误。内核函数是在机器上运行的许多进程上每秒发生多次的极为常见的调用。因此,如何隔离内核调用来调试它?例如,如果我在nt上放置断点!NtCreateSection或ntdll!RtlEnterCriticalSection,WinDbg将中断很多次,以至于我甚至无法进入操作系统并启动相关程序,因为它将中断对内存中所有其他程序正在使用的函数的调用,而不是我试图调试的目标程序。请指定解决此问题的方法,并针对内核调用的特定实例或此问题的其他解决方案。

sxe ld您的模块。
一旦你中断了你的模块
找到电子进程!处理您的模块。
设置进程特定断点
类似于bp/p电子进程符号

或者用0xcc硬补丁模块的入口点,然后从那里开始

您还可以使用模块中的ntsd-d进行重定向调试

您还可以使用强制加载符号!gflags+ksl(如果需要)

sxe ld您的模块。
一旦你中断了你的模块
找到电子进程!处理您的模块。
设置进程特定断点
类似于bp/p电子进程符号

或者用0xcc硬补丁模块的入口点,然后从那里开始

您还可以使用模块中的ntsd-d进行重定向调试

您还可以使用强制加载符号!gflags+ksl(如需要)