VS2010线程数据栈
我刚刚发现如何侵入 Windows dll (user32.dll) 内的 SetTimer 函数。 链接文本
但是我需要知道它用什么参数调用。我认为参数在调用函数之前就被推送到数据堆栈上,但我没有找到在 Visual Studio 2010 中显示线程数据堆栈的方法。
I just found out how to break into the SetTimer function inside a windows dll (user32.dll).
link text
However i need to know what arguments its called with. I think that the arguments are pushed onto the data stack right before calling the function, but I have found no way to display a threads data stack in visual studio 2010.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
打开内存调试窗口,并加载 ESP 处的地址(可以从寄存器窗口获取)。 ESP指向栈顶。如果您向上滚动窗口一点,您将看到最近推入堆栈的内容。确保将内存窗口设置为显示一列 4 字节整数(除非您是 64 位应用程序,否则使用 8 字节)。
Open a Memory debug window, and load the address at ESP (which you can get from the Registers Window). ESP points to the top of the stack. If you scroll up the window a bit, you'll see what's been recently pushed onto the stack. Make sure you set the memory window to display one column of 4byte integers (unless you're a 64 bit app, then use 8bytes).
如果打开调用堆栈窗口(调试 -> Windows -> 调用堆栈),您应该能够双击调用堆栈上的函数,查看参数、局部变量等。
If you open up the call stack window (Debug -> Windows -> Call Stack) you should be able to double-click on the functions up the call stack, view the parameters, local variables and so on.