57.windbg-MASM vs C++表达式

  • 在 MASM 表达式中,任何符号的数值都是它的内存地址。在 C++ 表达式中,变量的数值就是它的实际值,不是地址。数据结构没有数值;它们必须声明为实际结构再使用。函数名或者任何其它入口点的值是内存地址,当作为函数指针。没有 C++ 数据类型与之对应的符号(例如没有修饰的模块名)会导致语法错误。 
0:000> .expr
Current expression evaluator: MASM - Microsoft Assembler expressions
0:000> ? fun
Evaluate expression: 19076016 = 012313b0
0:000> ? g_int
Evaluate expression: 19099716 = 01237044
0:000> .expr /s c++
Current expression evaluator: C++ - C++ source expressions
0:000> ? fun
Evaluate expression: 19076016 = 012313b0   // 函数在C++中也表示内存地址
0:000> ? g_int
Evaluate expression: 12 = 0000000c


你可能感兴趣的:(windbg)