gpt4 book ai didi

visual-studio-2010 - 如何根据函数的参数中断 Win32 API 函数?

转载 作者:行者123 更新时间:2023-12-04 20:21:16 25 4
gpt4 key购买 nike

我正在使用 VS2010 调试混合的 .Net/ native 应用程序,并且我正在尝试确定特定 BSTR 是否/何时被释放。基于这个问题:Debug Break on Win32 Api functions我已经想出了如何在 SysFreeString 中设置断点,但它被称为很多。我想设置一个条件,让它只在我感兴趣的特定字符串被释放时中断。

看起来字符串的地址被推送到堆栈上,但我不知道如何取消引用堆栈寄存器来确定它是否是我的字符串。我试着把类似的东西 [esp] == 0x001ADCAC (其中 0x001ADCAC 是我感兴趣的字符串的地址)在断点条件下,但这不起作用。

最佳答案

弄清楚了!我将以下内容放入断点的条件中:

DW esp+4 == 0x001ADCAC

它奏效了。 DW 相当于调试器中的“dword ptr”。此处列出了所有“汇编语言表达式”: http://msdn.microsoft.com/en-us/library/56638b75.aspx

这也可以:
*(unsigned long*)(esp+4) == 0x001ADCAC

关于visual-studio-2010 - 如何根据函数的参数中断 Win32 API 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6284825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com