c++ - 有没有办法通过windbg查看堆栈帧上指针存储的地址?

标签 c++ pointers windbg

这是我用 VC++ 编写的一个小程序:

#include "stdafx.h
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
  int foo = 10;
  int* bar = &foo;
  cout<<bar<<endl;
  getchar();
  return 0;
}

我机器上的输出是: 0035F95C

通过 windbg 附加进程并查看反汇编后,我无法计算上面的地址。我知道我需要进入堆栈框架并查看本地人并遍历地址但不确定 windbg 中的命令。你会如何处理这个问题?

最佳答案

使用 .frame 命令查看栈帧。

使用dvdt命令查看变量值。

http://www.codeproject.com/KB/debug/windbg_part1.aspx

关于c++ - 有没有办法通过windbg查看堆栈帧上指针存储的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4552053/

相关文章:

c++ - 装饰器设计模式,函数bug

C++删除指针上的运算符,指针不为空

windbg - ClrMD 中的 ip2md 等价物是什么

c - 如何修复c中的字符串或指针?

C++ 提取指针类型

.net - WinDbg、SOS、如何将所有字符串转储到堆栈中

c++ - "Attempt to execute non-executable address"是什么意思?

c++ - 如何在位级别上进行操作?

c++ - 如何查找给定字符串的 ENUM 类型?

c++ - 如何检查位域是否跨越所有位