Windbg源代码窗口的使用
在 WinDbg 中,源窗口显示已加载到调试器中的源文件。
如何打开源代码窗口
- 通过菜单File--->Open Source File打开源代码文件,窗口随之打开

- 通过快捷键Ctrl+O
- 通过工具栏

- 设置源路径,调试器实时自动打开
使用源代码窗口
通过上面方式打开的窗口如下:

每个源窗口都显示一个源文件的文本。 不能在调试器中编辑源文件。 每个源窗口都具有包含附加命令的快捷菜单。 若要访问菜单,请右键单击标题栏,或单击窗口右上角附近显示的图标(
)。 以下列表描述了一些菜单命令:

Set instruction pointer to current line 会将指令指针的值更改为对应于当前行的指令。 此命令等效于使用 "编辑 |设置当前指令命令或按 CTRL + SHIFT + I.
- Edit this file 在文本编辑器中打开源文件。编辑器由WinDiff编辑器注册表信息或WINDBG_INVOKE_editor环境变量的值确定。例如,当WINDBG_INVOKE_EDITOR的值为以下值时。
c:\my\path\myeditor.exe -file %f -line %l
在这种情况下,Myeditor.exe将打开到当前源文件的基于一行的行号。%l选项表示行号应以一个为基础读取,而%f表示应使用当前源文件。其他替换可能性包括%L(表示行号是基于零的)和%p(表示应使用当前源文件)。
Evaluate selection 通过使用C++表达式计算器来计算当前选定的文本。 结果将显示在调试器命令窗口中。 如果所选文本包含多行,则会产生语法错误。 此命令等效于使用 "编辑 |计算选择命令,按 CTRL + SHIFT + V,或使用 ??(计算C++表达式) 带有所选文本作为参数的命令。
Display selected type 显示所选对象的数据类型。 此显示显示在调试器命令窗口中。 如果所选文本包含多个对象,则可能会显示语法错误或其他不稳定的结果。 此命令等效于使用 "编辑 |显示选定的类型命令,或按 CTRL + SHIFT + Y。
Open memory window for selection 打开一个新的停靠内存窗口,该窗口显示从所选表达式的地址开始的内存。.
Add selection to Watch window 将所选源令牌追加到监视窗口中.
Disassemble at current line 会导致与当前行对应的指令出现在 "反汇编"窗口中。 选定的行将在源窗口和 "反汇编" 窗口中突出显示,但此命令仅影响显示,而不会更改指令指针。 如果单击此命令时 "反汇编" 窗口关闭,则将其打开。.
Select source language 显示一系列编程语言。 选择用于生成源文件的编程语言,然后单击 "确定" 以为当前源窗口启用基本语法突出显示。 选择 " <NONE"> 可禁用当前源窗口的语法突出显示。
源窗口颜色和悬停计算
如果调试器识别源文件扩展名,则源窗口将以彩色显示某些语法元素。 若要关闭或更改颜色,请执行以下操作:
若要在单个窗口中关闭语法颜色,请打开源窗口的快捷菜单,单击 "选择源语言",然后单击 " <无"> 。
若要为所有源窗口关闭语法颜色,请从 "视图" 菜单中选择 "选项"。 然后清除 "分析源语言" 复选框。
若要更改语法颜色,请从 "视图" 菜单中选择 "选项"。 然后,在 "颜色" 区域中,选择语法元素,然后单击 "更改" 按钮更改颜色。
用于突出显示的分析方法取决于与源文件的文件扩展名相关联的编程语言。 若要更改与特定文件扩展名关联的编程语言,请使用 "源语言的文件扩展名" 对话框。 若要打开此对话框,请在 "视图" 菜单中选择 "源语言文件扩展名"。
突出显示表示当前程序计数器的行。 还将突出显示断点所在的行。
如果选择源窗口,然后使用鼠标将鼠标悬停在该窗口中的某个符号上,则将对该符号进行计算。 计算与dt (显示类型) 命令生成的值相同。 若要停用此评估,请从 "视图" 菜单中选择 "选项"。 然后清除 "悬停时计算" 复选框。
Windbg源代码窗口的使用的更多相关文章
- WinDbg命令窗口的使用
调试器命令窗口是windbg中的主要调试信息窗口.可以在此窗口中输入调试程序命令并查看命令输出.Windbg的命令窗口是我们进行调试时,主要打交道的窗口.界面如下 对于windbg,“调试器命令窗口” ...
- WinDbg 图形界面功能(二)
1.2.编辑菜单 这个菜单可以提供Windbg里的各功能窗口的可选文本的编辑功能,比如源代码窗口.命令窗口等提供选择.复制.剪切和黏贴等基础编辑功能. 剪切 单击剪切上编辑菜单中,删除所选的任何文本并 ...
- 使用WinDbg内核调试[转]
Technorati 标签: windbg,内核调试 WINDOWS调试工具很强大,但是学习使用它们并不容易.特别对于驱动开发者使用的WinDbg和KD这两个内核调试器(CDB和NTSD是用户态调试器 ...
- VS调试错误:“没有可用于当前位置的源代码”的解决方案
今天,有朋友在问为什么我在调试的时候会出现"没有可用于当前位置的源代码"的错误呢? MSDN上的说法:没有可用于当前位置的源代码,项目不包含您试图查看代码的源代码.原因通常是双击了 ...
- windbg Symbol file path
SOS是一个调试器扩展,用于调试.NET应用程序.它提供了一组非常丰富的命令,这些命令使开发人员可以对CLR进行深入分析,并且有助于找出应用程序中各种复杂错误的原因. 由于SOS能够提供CLR内部 ...
- 使用GDB调试Go语言
用Go语言已经有一段时间了,总结一下如何用GDB来调试它! ps:网上有很多文章都有描述,但是都不是很全面,这里将那些方法汇总一下 GDB简介 GDB是GNU开源组织发布的⼀一个强⼤大的UNIX下的 ...
- Dreamweaver架设网站终极教程
转自:http://www.cnblogs.com/loveme513/archive/2006/04/03/365969.html 一.定义站点 1. 在任意一个根目录下创建好一个文件夹(我们这里假 ...
- 解决vs2008无法切换设计视图的问题
在 Visual Studio 2008的编辑一个web页面的时候,“源视图”(Source View), 你可以自定义设计视图(Design View)为默认视图. 方法如下: 菜单:工具+选项+h ...
- GDB常用命令
一. gdb使用流程 1.编译生成可执行文件 gcc -g hello.c -o hello 2.启动gdb gdb hello 3. 在main处设置断点 break main 4.运行程序 run ...
随机推荐
- 版本分支管理标准 - Trunk Based Development 主干开发模型
之前分享过<版本分支管理标准 - Git Flow>,不过在实际使用过程中, 因为其有一定的复杂度,使用起来较为繁琐,所以一些人员较少的团队并不会使用这个方案. 在这基础上,一些新的分支管 ...
- Spring Cloud(十四):Ribbon实现客户端负载均衡及其实现原理介绍
年后到现在一直很忙,都没什么时间记录东西了,其实之前工作中积累了很多知识点,一直都堆在备忘录里,只是因为近几个月经历了一些事情,没有太多的经历来写了,但是一些重要的东西,我还是希望能坚持记录下来.正好 ...
- 【RS】Deep Learning based Recommender System: A Survey and New Perspectives - 基于深度学习的推荐系统:调查与新视角
[论文标题]Deep Learning based Recommender System: A Survey and New Perspectives ( ACM Computing Surveys ...
- spring-retry 重试机制的使用
场景:由于网络抖动原因,或者其他原因,需要对代码重新执行,这个就需要重试了. import org.springframework.context.annotation.Configuration; ...
- Sitecore 十大优秀功能
为客户的需求创建最佳解决方案是我们的主要目标.良好的设计不仅仅是视觉吸引力,还要确保用户体验简单直观.在设计Sitecore网站时,我们始终牢记这一点 . 以下是一些我最喜欢的功能,可以帮助我们使用 ...
- elasticsearch6设置默认分片数和副本数
elasticsearch6设置索引的默认分片数和副本数已经不是在elasticsearch.yml文件中了,而是使用了一个索引模板的东西 curl -XPUT 'http://10.27.12.16 ...
- JavaIO学习:打印流
打印流 打印流是输出信息最方便的类,注意包含字节打印流:PrintStream和字符打印流:PrintWriter. 打印流提供了非常方便的打印功能,可以打印任何类型的数据信息,例如:小数,整数,字符 ...
- Kafka分区分配策略-RangeAssignor、RoundRobinAssignor、StickyAssignor
引言按照Kafka默认的消费逻辑设定,一个分区只能被同一个消费组(ConsumerGroup)内的一个消费者消费.假设目前某消费组内只有一个消费者C0,订阅了一个topic,这个topic包含7个分区 ...
- Regex 首字母转大写/小写,全大写,全小写
语法 \l 第一个字符小写,比[\L]或[\U]优先级别低,连续使用,第一个[\l]或[\u]优先 \L 后面所有字符小写,比[\l]或[\u]优先级别高 \u 第一个字符大写,比[\L]或[\U]优 ...
- C# 调用TRIO控制器ActiveX教程
最近项目由于用到上位机与TRIO交互,为了使交互编程方便,使用了TRIO的COM组件.记录一下为方便以后自己使用,同时也方便大家做参考! 组件下载地址(百度云盘):https://pan.baidu. ...