在命名函数上放置断点

发布于 2024-09-28 06:46:14 字数 219 浏览 6 评论 0原文

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

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

也许有更好的方法?

Is there a way to put a breakpoint on any function in Visual Studio, sort of like bm kernel32!LoadLib* in WinDbg?

I know one way is to break at application start, find the required DLL load address, then add offset to required function you can get via Depends, and create a breakpoint on address. But that's really slow, and switching to WinDbg and back is also pretty annoying.

Maybe there is a better way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

输什么也不输骨气 2024-10-05 06:46:14

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

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

示例:

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

请参阅此博客文章以找到正确的名称:在 user32.dll 中的 Win32 API 函数上设置 Visual Studio 断点

Go to "Debug / New breakpoint / Break at function..." and paste the function name.

For APIs, this can be tricky, as the name of the function as seen by the debugger is different from its real name.

Examples:

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

See this blog post to find the right name: Setting a Visual Studio breakpoint on a Win32 API function in user32.dll

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文