在 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源代码窗口的使用的更多相关文章

  1. WinDbg命令窗口的使用

    调试器命令窗口是windbg中的主要调试信息窗口.可以在此窗口中输入调试程序命令并查看命令输出.Windbg的命令窗口是我们进行调试时,主要打交道的窗口.界面如下 对于windbg,“调试器命令窗口” ...

  2. WinDbg 图形界面功能(二)

    1.2.编辑菜单 这个菜单可以提供Windbg里的各功能窗口的可选文本的编辑功能,比如源代码窗口.命令窗口等提供选择.复制.剪切和黏贴等基础编辑功能. 剪切 单击剪切上编辑菜单中,删除所选的任何文本并 ...

  3. 使用WinDbg内核调试[转]

    Technorati 标签: windbg,内核调试 WINDOWS调试工具很强大,但是学习使用它们并不容易.特别对于驱动开发者使用的WinDbg和KD这两个内核调试器(CDB和NTSD是用户态调试器 ...

  4. VS调试错误:“没有可用于当前位置的源代码”的解决方案

    今天,有朋友在问为什么我在调试的时候会出现"没有可用于当前位置的源代码"的错误呢? MSDN上的说法:没有可用于当前位置的源代码,项目不包含您试图查看代码的源代码.原因通常是双击了 ...

  5. windbg Symbol file path

    SOS是一个调试器扩展,用于调试.NET应用程序.它提供了一组非常丰富的命令,这些命令使开发人员可以对CLR进行深入分析,并且有助于找出应用程序中各种复杂错误的原因.   由于SOS能够提供CLR内部 ...

  6. 使用GDB调试Go语言

    用Go语言已经有一段时间了,总结一下如何用GDB来调试它! ps:网上有很多文章都有描述,但是都不是很全面,这里将那些方法汇总一下 GDB简介  GDB是GNU开源组织发布的⼀一个强⼤大的UNIX下的 ...

  7. Dreamweaver架设网站终极教程

    转自:http://www.cnblogs.com/loveme513/archive/2006/04/03/365969.html 一.定义站点 1. 在任意一个根目录下创建好一个文件夹(我们这里假 ...

  8. 解决vs2008无法切换设计视图的问题

    在 Visual Studio 2008的编辑一个web页面的时候,“源视图”(Source View), 你可以自定义设计视图(Design View)为默认视图. 方法如下: 菜单:工具+选项+h ...

  9. GDB常用命令

    一. gdb使用流程 1.编译生成可执行文件 gcc -g hello.c -o hello 2.启动gdb gdb hello 3. 在main处设置断点 break main 4.运行程序 run ...

随机推荐

  1. 第22课 weak_ptr弱引用智能指针

    一. weak_ptr的概况 (一)weak_ptr的创建 1. 直接初始化:weak_ptr<T> wp(sp); //其中sp为shared_ptr类型 2. 赋值: wp1 = sp ...

  2. iptables如何安全的清空规则

    使用 /sbin/iptables -F 要小心,搞不好,你就马上同服务器断开连接了 如果想清空的话,先执行 /sbin/iptables -P INPUT ACCEPT 然后执行 /sbin/ipt ...

  3. Shell脚本——求随机数的最值

    写一个脚本,利用RANDOM生成10个随机数,并找出其中的最大值,和最小值: #!/bin/bash # MAX= MIN= ..};do RAN=$RANDOM [ $i -eq ] &&a ...

  4. CentOS7安装图形化界面方法

    一.linux安装(root用户操作) 1. 安装vncserver; yum install tigervnc-server 2. 安装vncviewer; yum install vnc 3. 设 ...

  5. Java实习生入职测试

    网络上一度流行的Java实习生入职测试题,可以看看. 1.String类为什么是final的. 2.JDK8的HashMap的源码,实现原理,底层结构 3.反射中,Class.forName和clas ...

  6. WPF 精修篇 事件触发器

    原文:WPF 精修篇 事件触发器 事件触发器 一般使用的就是动画 <Grid> <TextBlock Text="事件触发器" Opacity="0.2 ...

  7. JS 弹窗“是否删除”

    var r = confirm("是否确认删除!");if (r == true) {location.href = "/Employees/Delete/" ...

  8. Go的流程控制

    流程控制 Go语言支持最基本的三种程序运行结构:顺序结构.选择结构.循环结构. 顺序结构:程序按顺序执行,不发生跳转. 选择结构:依据是否满足条件,有选择的执行相应功能. 循环结构:依据条件是否满足, ...

  9. 2019 蓝鲸人java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.蓝鲸人等公司offer,岗位是Java后端开发,因为发展原因最终选择去了蓝鲸人,入职一年时间了,也成为了面试官 ...

  10. Java诊断利器Arthas优雅排查生产环境

    前言 Arthas 是Alibaba开源的Java诊断工具.在线排查问题,无需重启:动态跟踪Java代码:实时监控JVM状态.对分秒必争的线上异常,Arthas可帮助我们快速诊断相关问题. 下载安装 ...