代码之家  ›  专栏  ›  技术社区  ›  whunmr

在windbg中,如何在kernel32.dll中的所有函数上设置断点?

  •  3
  • whunmr  · 技术社区  · 16 年前

    我想弄清楚对kernel32.dll的调用顺序和函数 在函数中 example() 在里面 example.DLL

    在windbg中,如何在kernel32.dll中的所有函数上设置断点?

    bm kernel32!* ,但似乎不起作用。

    3 回复  |  直到 16 年前
        1
  •  7
  •   Thomas Weller    12 年前

    在某些低级内核服务DLL调用中设置断点可能会导致应用程序异常。

    你可以用 rohitab's API monitor 观察其DLL调用,然后在

        2
  •  6
  •   deemok    16 年前

    我不会照你说的那样做。当然有可能,但如果用 bm /a kernel32!* 您无意中也在数据符号上设置了bps(与实际函数相反)。就你而言 wt -跟踪和监视数据(您可以在windbg软件包提供的debugger.chm中查找)可能就是您想要的。

        3
  •  2
  •   Michael    16 年前

    如果我是你,我会运行“link/dump/exports kernel32.dll”,将输出写入一个文件,然后编写一个简单的脚本,获取函数名并将“bp kernel32!”+函数名写入一个新文件。然后,只需将该文件的内容粘贴到windbg命令窗口中即可。

    通过调试器中的脚本支持,可能有一种简单的方法可以做到这一点,但是您可以在更短的时间内通过调试器脚本学习如何完成上述脚本。