44.windbg-??、?(c++表达式语法、当前表达式语法)
来源:互联网 发布:雨花区网络问政 编辑:程序博客网 时间:2024/06/04 19:49
双问号(??)
命令根据C++表达式规则来计算和显示表达式的值
??命令根据当前线程和进程上下文来对表达式中的符号进行求值
所以用??后,就不用显式@@c++指定了
如果要使用MASM表达式规则来为Expression 表达式的一部分进行求值,可以将这部分用圆括号括起来并在前面添加两个at符号( @@ )。
问号(?) 命令
可用于计算和显示一个表达式的值
?命令的输入和输出依赖于使用MASM表达式语法还是C++表达式语法
具体来说就是.expr
0:000> .expr Current expression evaluator: MASM - Microsoft Assembler expressions
如果使用MASM语法,输入和输出都依赖于当前的基数。要改变基数,使用n (Set Number Base)命令。
一些字符串可能包含转义字符,如\n、 \"、 \r、 和\b,它们会被按字面的样子读取,而不会由求值器进行计算。如果字符串中的某个转义字符被求值器计算了,可能会出现求值错误0:000> as AliasName "c:\dir\name.txt"0:000> al Alias Value ------- ------- AliasName "c:\dir\name.txt" 0:000> ? $spat(${AliasName}, "*name*")Evaluate expression: 0 = 000000000:000> ? $spat(@${AliasName}, "*name*")Evaluate expression: 1 = 00000001
可以看到解决方式是:使用@"String" 语法
再看个例子:
0:000> ? $scmp("hgy", "hgy")Evaluate expression: 0 = 000000000:000> ? $scmp("hgy\", "hgy\")Syntax error at '("hgy\", "hgy\")'0:000> ? $scmp(@"hgy\", @"hgy\")Evaluate expression: 0 = 00000000
- 44.windbg-??、?(c++表达式语法、当前表达式语法)
- 53.windbg-C++表达式语法
- 59.windbg-MASM表达式语法
- 表达式语法 <%$...%>
- 正则表达式语法(转)
- 正则表达式语法(转)
- 正则表达式基础(语法)
- C语法归约之表达式(3)
- C语法归约之表达式复合运算(4)
- [C#]Lambda表达式和Where语法
- [C#]Lambda表达式和Where语法
- 正则表达式语法
- 正则表达式语法
- 正则表达式语法
- 正则表达式语法解析
- 正则表达式语法
- 正则表达式语法
- 正则表达式语法
- TextView基本使用
- 9、struts2源代码分析
- hdu 2054 A==B?
- 妈妈再也不用担心我收不到Google Adsense PIN码了
- 第七次实验任务
- 44.windbg-??、?(c++表达式语法、当前表达式语法)
- EditText控件学习
- 如何使用Doxygen 生成函数调用关系图(graphviz 2.30、chm)
- Java中private、public、protected的区别
- HDU2553:N皇后问题(DFS)
- asp.net加载新浪方式的图片轮播
- 根据表名称找索引及对应列名
- 使用perl+MongoDB实现一个WEB站点请求耗时日志分析系统
- 国内HTML5前端开发框架汇总