【问题标题】:Put breakpoint on named function在命名函数上放置断点
【发布时间】:2010-10-19 12:20:15
【问题描述】:

有没有办法在 Visual Studio 中的任何函数上放置断点,有点像 WinDbg 中的bm kernel32!LoadLib*

我知道一种方法是在应用程序启动时中断,找到所需的 DLL 加载地址,然后将偏移量添加到您可以通过 Depends 获得的所需函数,并在地址上创建一个断点。但这真的很慢,而且切换到 WinDbg 再回来也很烦人。

也许有更好的方法?

【问题讨论】:

    标签: c++ c visual-studio debugging conditional-breakpoint


    【解决方案1】:

    转到“调试/新断点/在函数处中断...”并粘贴函数名称。

    对于 API,这可能很棘手,因为调试器看到的函数名称与其真实名称不同。
    示例:

    {,,kernel32.dll}_CreateProcessW@40
    {,,user32.dll}_NtUserLockWindowUpdate@4
    

    查看此博文以找到正确的名称:Setting a Visual Studio breakpoint on a Win32 API function in user32.dll

    【讨论】:

    • API 函数正是我所需要的,谢谢!我只希望有一种更简单的方法可以找到装饰名称...
    • 这在 VS2017 中似乎不再起作用——它只会吐出“找不到函数:_CreateProcessW@40”。我还没有找到解决方法。编辑:解决方法是输入全部大写的模块名称。去图吧。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 2017-11-21
    • 2018-06-02
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多