主题是预配置的windbg工作区,其中包含调试信息窗口的有用配置。任何主题都可以保存为基本工作区。Windows调试工具包中的主题作为一组注册表文件(扩展名为.reg)提供。当您积累更多的调试会话时,会自动设置各种默认工作区。这些默认工作区使用基本工作区作为起点。有关默认工作区的详细信息,请参见WinDbg的工作空间---Work Space
一、加载主题
在加载主题之前,我们建议您清除所有工作区数据。这可以通过三种方式实现:
  • 使用Windbg用户操作接口,在菜单“File”下的“Clear Workspace”的弹出窗体,选择所有,然后点击"OK"
  • 删除注册表键HKCU\Software\Microsoft\Windbg\Workspaces下的内容
  • 通过命令行删除 reg delete HKCU\Software\Microsoft\Windbg.

清除所有工作区数据后,运行其中一个主题。这些文件作为.reg文件存储在Windows安装调试工具的主题目录中。运行主题会将其设置导入注册表,重新定义基本工作区。加载主题后,可以将其更改为更符合您的偏好。

二、自定义主题

在自定义主题之前,必须先加载该主题。加载主题后,在没有命令行参数的情况下启动windbg。这将打开基本工作区。自定义主题有两个常见的焦点区域:设置路径和调整窗口位置。完成任何需要的调整后,退出windbg并从“文件”菜单中选择“保存工作区”来保存工作区。如果要将新设置保存到.reg文件中,请打开regedit并将hkcu\software\microsoft\windbg\workspaces下的注册表项导出到.reg文件中。如果把这个注册表键里面的内容导出为xx.reg文件,则可以把这个文件分享给别人,让别人使用与你相同的配置。在windbg的语境中,这个文件被称为主题(Theme)。

  • 相关路径设置
    通过设置适当的路径,可以确保windbg可以找到有效调试所需的所有文件。要设置的主要路径有三条:符号路径、源路径和可执行映像路径。
  • 调整窗口
     在使用主题之前,您应该调整窗口位置,以便windbg正确处理源文件。这样可以确保源窗口知道停靠在哪里。首先在windbg中打开一个源窗口。选项卡使用为源窗口预留的占位符固定此窗口。为了建立正确的关系,在执行此选项卡停靠操作之前,占位符窗口必须是停靠中的最上面的窗口。现在关闭源窗口,但不关闭占位符窗口。由于调试信息窗口“记住”其最后一次停靠操作,因此在执行此过程后,每个源窗口的最后一次停靠操作都与一个占位符窗口相关联。由于这个内存属性,您不应该关闭任何占位符窗口。此外,如果选择更改主题的配置,则在停靠中重新定位的任何窗口都应始终与占位符文件对齐。

三、使用Windows调试工具中提供的主题

 本节显示Windows调试工具中提供的四个主题中每个主题的配置截图。这些主题分别是standard.reg、standardvs.reg、srcdismbling.reg和multimon.reg
  • Standard.reg

     Standard.reg主题可用于大多数调试目的。在这种排列中,下三分之一的windbg窗口由调试器命令窗口获取。上三分之二大致分成两半。左半部分由一个占位符窗口占据,该窗口指示源窗口在选项卡式集合中打开的位置。右半部分又垂直分为两半。上半部分包含一个选项卡式集合,其中包括手表、局部变量、寄存器和反汇编窗口。下半部分包含一个选项卡式集合,其中包含调用、进程和线程窗口。在每个停靠位置中,还包括一个占位符窗口作为其他窗口的参考点。不应关闭占位符窗口,因为关闭它们可能会更改窗口的配置。此排列中的所有窗口都已停靠。下面的屏幕截图显示Standard.reg主题。

  • Standardvs.reg
     Standardvs.reg主题可以用于大多数调试目的,但在布局上更类似于Visual Studio。在这种排列中,windbg窗口水平分为三部分。上三分之一又垂直分成两半。上三分之一的左半部分包含一个选项卡式集合,其中包括手表、局部变量、寄存器、内存、反汇编和草稿行窗口。上三分之一的右半部分包含一个选项卡式集合,其中包含调用、进程和线程窗口。windbg窗口的下三分之一由调试器命令窗口获取。中间的第三个由一个占位符窗口填充,该窗口指示在选项卡式集合中打开源窗口的位置。在每个停靠位置中,还包括一个占位符窗口作为其他窗口的参考点。不应关闭占位符窗口,因为关闭它们可能会更改窗口的配置。这种布置中的所有窗户都是对接的。以下屏幕截图显示Standardvs.reg主题。
  • Srcdisassembly.reg
     srcDisassembly.reg主题包括一个反汇编窗口,用于在汇编模式下进行调试。在这种排列中,windbg窗口被垂直地分为两部分,而形成的每一半又被水平地分为三部分。在右半部分,上三个是局部变量和监视窗口的选项卡式集合,中间三个是调试器命令窗口,下三个是进程、线程和调用窗口的选项卡式集合。在左半部分,上三分之二由一个显示源窗口在选项卡式集合中打开位置的占位符窗口获取;下三分之一由反汇编窗口获取。在每个停靠位置中,还包括一个占位符窗口作为其他窗口的参考点。不应关闭占位符窗口,因为关闭它们可能会更改窗口的配置。这种布置中的所有窗户都是对接的。下面的屏幕截图显示srcambolution.reg主题。

  • Multimon.reg
    multimon.reg主题是为使用多个监视器进行调试而设置的。在此安排中,将创建一个新的停靠,以便在一个监视器上查看windbg窗口,在另一个监视器上查看新的停靠。windbg窗口由一个占位符窗口填充,该窗口指示在选项卡式集合中打开源窗口的位置。新码头分为四个部分。左上角包含一个选项卡式集合,其中包括Watch和Locals窗口。右上角包含一个选项卡式集合,其中包含寄存器、内存、反汇编、草稿页、进程和线程窗口。左下角包含调试器命令窗口。右下角包含Calls窗口。在每个停靠位置中,还包括一个占位符窗口作为其他窗口的参考点。不应关闭占位符窗口,因为关闭它们可能会更改窗口的配置。这种布置中的所有窗户都是对接的。以下屏幕截图显示multimon.reg主题。

Windbg的主题---Theme的更多相关文章

  1. 总结一下Android中主题(Theme)的正确玩法

    在AndroidManifest.xml文件中有<application android:theme="@style/AppTheme">,其中的@style/AppT ...

  2. Struts2的模板和主题theme及自定义theme的使用

    Struts2的模板和主题theme及自定义theme 标签: struts2 2016-03-29 11:22 190人阅读 评论(0) 收藏 举报  分类: javaweb(8)  Struts2 ...

  3. 第十四章:样式(Style)和主题(Theme)

    简介 Android的样式(Style)和主题(Theme)文件就好比WEB开发中的CSS一样,可以实现UI界面的风格统一管理,这和Windows平台的XAML格式(Silverlight.WPF)类 ...

  4. 【转载】总结一下Android中主题(Theme)的正确玩法

    http://www.cnblogs.com/zhouyou96/p/5323138.html 总结一下Android中主题(Theme)的正确玩法 在AndroidManifest.xml文件中有& ...

  5. Android菜鸟的成长笔记(6)——剖析源码学自定义主题Theme

    原文:Android菜鸟的成长笔记(6)--剖析源码学自定义主题Theme 还记得在Android菜鸟的成长笔记(3)中我们曾经遇到了一个问题吗?"这个界面和真真的QQ界面还有点不同的就是上 ...

  6. Android 主题theme说明 摘记

    主题Theme就是用来设置界面UI风格,可以设置整个应用或者某个活动Activity的界面风格.在Android SDK中内置了下面的Theme,可以按标题栏Title Bar和状态栏Status B ...

  7. Android下Notification,样式style,主题theme的功能实现

    一:Notification 1.NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVIC ...

  8. 主题 Theme 小结

    主题的使用 默认创建的Android工程中,在AndroidManifest.xml文件中有<application android:theme="@style/AppTheme&qu ...

  9. struts2官方 中文教程 系列十四:主题Theme

    介绍 当您使用一个Struts 2标签时,例如 <s:select ..../>  在您的web页面中,Struts 2框架会生成HTML,它会显示外观并控制select控件的布局.样式和 ...

随机推荐

  1. 英语propretie房产

    property (英文释义)  英 ['prɒpəti] 美 ['prɑːpərti] n.财产:所有物:地产,房地产:性质:道具 中文名:房产财产地产 外文名:property.propreti ...

  2. Docker 封装java镜像

    一.概述 目前java采用的框架是Spring,服务器直接通过 java -jar xxx.jar 就可以启动服务了. 二.jdk镜像 在docker中跑java应用,需要有jdk环境支持才行. 获取 ...

  3. 「UER#2」信息的交换

    「UER#2」信息的交换 吉利题.. 不难发现,置换中的每一个循环是独立的,每一个循环分别对应一个独立的联通块. 根据题目的性质,每一个联通块做的事情等价于其按照编号从小到大遍历的的dfs生成树做的事 ...

  4. 1 matplotlib绘制折线图

    from matplotlib import pyplot as plt #设置图形大小 plt.figure(figsize=(20,8),dpi=80) plt.plot(x,y,color=&q ...

  5. python爬虫-房天下-登录

    房天下-登录 本次爬取的网址为:https://passport.fang.com 一.分析请求 输入用户名和密码,点击登录按钮 请求的参数为: uid: 123456789 pwd: 64ccd42 ...

  6. 【转载】 C#中使用decimal.Parse方法将字符串转换为十进制decimal类型

    在C#编程过程中,很多时候涉及到数据类型的转换,例如将字符串类型的变量转换为十进制decimal类型就是一个常见的类型转换操作,decimal.Parse方法是C#中专门用来将字符串转换为decima ...

  7. js流程控制语句(三)

    如果在语句中需要声明变量时:最好给他们赋予初始类型值[js中变量声明使用var属于弱类型声明,若只声明则均表示为undefined,在后面语句计算中可能会产生错误计算];相应的类型变量需要如下方式进行 ...

  8. Spring+Velocity+Mybatis入门(step by step)

    一.开发工具 开发过程中使用的操作系统是OS X,关于软件安装的问题请大家移步高效的Mac环境设置. 本文是我对自己学习过程的一个回顾,应该还有不少问题待改进,例如目录的设置.编码习惯和配置文件的处理 ...

  9. js设置页面全屏

    html代码 <!-- 全屏按钮 --> <img id="alarm-fullscreen-toggler" src="/public/index/i ...

  10. 离线安装Kubernetes

    离线安装Kubernetes 环境准备: systemctl stop firewalld systemctl disable firewalld ​ 关闭selinux ​ sed -i 's/^S ...