• Windbg常用命令系列---.f+, .f- (切换Local Context)


    .f+, .f- (Shift Local Context)

    .f+ 命令将帧序号移动到当前堆栈中的下一帧。.f- 命令将帧序号移动到当前堆栈中的上一帧。

    语法

    .f+  
    .f-  

    环境

    模式 用户模式、内核模式
    目标 活动目标、崩溃转储
    平台 所有

    注释

    (frame)用来指定调试器用来解析局部变量的局部上下文(作用域)。

    .f+ .f- 命令是用来在当前调用堆栈中移动到下一帧或者前一帧的快捷方式。这些命令和下面的.frame 命令作用相同,但是.f 要更短更方便:

    • .f+.frame @$frame + 1一样。
    • .f-.frame @$frame - 1一样。

    美元符号($)表示帧的值是一个伪寄存器。At符号(@)使得调试器访问该值更快,因为它告诉调试器后面的字符串是一个寄存器或者伪寄存器。

    程序运行时,局部变量的意义由程序计数器的位置决定,因为这些变量的作用域仅在定义它们的函数内部。如果没有使用.f+.f- 命令(或者 .frame 命令),调试器会使用当前函数(调用堆栈中的当前帧)的作用域作为局部上下文。

    帧序号(frame number)是堆栈帧在堆栈回溯中的位置。可以使用k, kb, kd, kp, kP, kv (Display Stack Backtrace)命令或者Calls 窗口查看堆栈回溯。第一行 (当前帧) 的帧序号是0。后面的行分别是1、2、3等等。

    可以将局部上下文设置到另一个堆栈帧来查看新的局部变量信息。但是,实际可用的变量由执行的代码决定。

    如果又对程序进行执行,调试器会将局部上下文重置为程序计数器的作用域。如果寄存器上下文改变,局部上下文也重置到调用堆栈顶部的帧。

  • 相关阅读:
    CSS优先级及继承
    group by 与 order by
    软件开发升级指南(转)
    安装DELL服务器,安装Windows 2003 sp2 问题
    SQL SERVER 2005数据库总结
    C#操作INI文件(调用WindowsAPI函数:WritePrivateProfileString,GetPrivateProfileString)
    对RBS理解与使用
    WSS和MOSS的区别
    关于.net winform ComboBox数据绑定显示问题
    OpenNETCF.Desktop.Communication.DLL程序集的使用
  • 原文地址:https://www.cnblogs.com/yilang/p/13031777.html
Copyright © 2020-2023  润新知