Windbg学习地址和地址范围语法

1.在MASM表达式中,你可以用poi来取任意指针指向的值

0:000> .expr
Current expression evaluator: MASM - Microsoft Assembler expressions
0:000> dd eip L1
77ce054e  fc7589cc
0:000> dd poi(77ce054e) L1
fc7589cc  ????????

2.在c++表达式中,数值首先都被认为是10进制,所以你得加上0x来表示16进程,如果你需要取某个数值指向的值,你需要把数值强制转换成指针

0:000> .expr
Current expression evaluator: C++ - C++ source expressions
0:000> dd *((int*)0x77ce054e) L1
fc7589cc  ????????
0:000> dd *((int*)77ce054e) L1
Unexpected token 'ce054e) '

地址范围

1.一对地址

0:000> dd eip eip+6
77ce054e  fc7589cc c0330eeb
dd,4字节的单位,所以被扩展为8个字节

2.地址 + 字母L

   2.1.纯L,限制在256Mb以内,以地址为开始地址

   2.2.L?,不限大小,以地址为开始地址

   2.3.L-,以地址为结束地址

0:000> r eip
eip=77ce054e
0:000> dd eip L?2
77ce054e  fc7589cc c0330eeb
0:000> dd eip L-2
77ce0546  75e75d38 fc5d8917
0:000> ? eip-8
Evaluate expression: 2009990470 = 77ce0546




原文地址:https://www.cnblogs.com/hgy413/p/3693410.html