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

如何在windbg中的函数末尾放置断点,这样即使在源中添加/删除了一些行,我也不需要编辑它?

  •  6
  • TCSGrad  · 技术社区  · 14 年前

    当一些函数被命中时,我需要记录一些数据,无论是在执行的开始还是结束时。虽然在函数开始处放置断点没有问题(使用 bu [module]!functionname ,我不知道如何在函数末尾放置断点,这样我就不需要每次从文件/函数添加/删除某些行时都编辑断点。我相信这是一个非常常见的情况,只是我不知道它是怎么做到的!!有人能解释吗?

    3 回复  |  直到 8 年前
        1
  •  7
  •   plodoc    14 年前

    可以使用函数开头的断点在返回地址设置断点。这样地:

    bu [module]!functionname "bp /1 @$ra \".echo Exit functionname ; g\"; .echo Enter functionname; g"
    

    警告:如果在函数中抛出异常,这可能不起作用。

        2
  •  2
  •   Naveen    14 年前

    这就是你要找的

    Get function return values and profiling information in .NET using Windbg

    解释了如何设置函数返回的断点。

    这同样适用于本机代码。

    希望这有帮助。

        3
  •  0
  •   user3167419    8 年前

    您可以使用pt命令,这意味着要执行下一个返回步骤。 例如,当您在乞讨时点击您的函数时,只输入pt命令将点击调用返回的代码。