ld (Load Symbols)

ld命令加载指定模块的符号并更新所有模块信息。

ld ModuleName [/f FileName]

参数:

  • ModuleName
    指定要加载其符号的模块的名称。modulename可以包含各种通配符和说明符。
  • /f FileName
    更改为匹配项选择的名称。默认情况下,模块名是匹配的,但使用/f时,文件名是匹配的,而不是模块名。文件名可以包含各种通配符和说明符。
调试器的默认行为是使用延迟符号加载(也称为延迟符号加载)。这意味着符号在需要之前不会实际加载。 另一方面,ld命令强制加载指定模块的所有符号。

ln (List Nearest Symbols)

ln命令显示给定地址处或附近的符号。

ln Address
ln /D Address

参数:

  • Address
    指定调试器开始搜索符号的地址。将显示最近的符号(地址之前或之后)。
  • /D
    指定使用调试器标记语言(DML)显示输出。DML输出包含一个链接,您可以使用该链接浏览包含最近符号的模块。它还包括一个链接,可用于设置断点。

可以使用ln命令来帮助确定指针指向什么。当您查看损坏的堆栈以确定哪个过程进行了调用时,此命令也很有用。如果源行信息可用,LN显示还包括源文件名和行号信息。如果使用的是源服务器,则ln命令将显示与源服务器相关的信息。

.copysym (Copy Symbol Files)

.copysym命令将当前符号文件复制到指定目录。

.copysym [/l] Path

参数:

  • /l
    使每个符号文件在复制时加载。
  • Path
    指定符号文件应复制到的目录。副本不会覆盖现有文件。

很多时候,符号存储在网络上。符号访问通常很慢,或者您可能需要将调试会话传输到不再具有网络访问权限的另一台计算机。在这种情况下,.copysym命令可用于将会话所需的符号复制到本地目录。

.symfix (Set Symbol Store Path)

.symfix命令自动将符号路径设置为指向Microsoft符号存储。

.symfix[+] [LocalSymbolCache]

参数:

  • +

    使Microsoft符号存储路径附加到现有符号路径。如果不包括此项,则替换现有符号路径。

  • LocalSymbolCache
    指定要用作本地符号缓存的目录。如果此目录不存在,则将在符号服务器开始复制文件时创建。如果省略localsymbolcache,则将使用调试器安装目录的sym子目录。

下面的示例演示如何使用.symfix设置指向Microsoft符号存储的新符号路径。

3: kd> .symfix c:\myCache
3: kd> .sympath
Symbol search path is: srv*
Expanded Symbol search path is: cache*c:\myCache;SRV*http://msdl.microsoft.com/download/symbols

下面的示例演示如何使用.symfix+将现有符号路径附加到指向Microsoft符号存储的路径。

3: kd> .sympath
Symbol search path is: c:\someSymbols
Expanded Symbol search path is: c:\somesymbols
3: kd> .symfix+ c:\myCache
3: kd> .sympath
Symbol search path is: c:\someSymbols;srv*
Expanded Symbol search path is: c:\somesymbols;cache*c:\myCache;SRV*http://msdl.microsoft.com/download/symbols

.symopt (Set Symbol Options)

.symopt命令设置或显示符号选项。
.symopt+ Flags
.symopt- Flags
.symopt

参数:

  • +
    使标志指定的符号选项被设置。如果.symopt与标志一起使用,但没有加号或减号,则假定为加号。
  • -
    使由标志指定的符号选项被清除。
  • Flags
    指定要改变的符号选项。Flags必须是这些符号选项的比特Flags的总和。

不带任何参数,.symopt显示当前符号选项。

.sympath (Set Symbol Path)

.sympath命令设置或更改符号路径。符号路径指定调试器查找符号文件的位置。

.sympath[+] [Path [; ...]]

参数:

  • +
    指定新位置将附加到(而不是替换)上一个符号搜索路径。
  • Path
    完全路径或完全路径的列表。多条路径用分号分隔。如果忽略路径,则显示当前符号路径。
当符号路径更改时,将不会加载新的符号信息。您可以使用.reload (Reload Module)命令重新加载符号。

!sym

这个扩展命令控制噪声符号加载和符号提示。
!sym
!sym noisy
!sym quiet
!sym prompts
!sym prompts off

参数:

  • noisy
    激活干扰符号加载。
  • quiet
    禁用干扰符号加载。
  • prompts
    允许在Symsrv收到身份验证请求时显示身份验证对话框。
  • prompts off
    当Symsrv接收到一个认证请求时,删除所有认证对话框。这可能导致SYMSRV无法访问因特网上的符号。
如果!sym符号扩展不带参数,显示噪声符号加载和符号提示的当前状态。这个!sym noisy和!sym quiet符号静音扩展控制噪声符号加载。这个!sym prompts和!sym prompts off控制当symsrv遇到身份验证请求时是否显示身份验证对话框。这些命令必须后跟.reload(重新加载模块)才能生效。身份验证请求可以由代理服务器、Internet防火墙、智能卡读卡器和安全网站发送。

!symsrv

关闭symbol服务器客户端。

!symsrv close

这个!symsrv close扩展将关闭任何活动的symbol服务器客户端。如果需要重新同步连接,这将非常有用。如果您以前拒绝过Internet身份验证请求,则需要使用!symsrv close可重新连接到符号存储。

WinDbg常用命令系列---符号相关命令的更多相关文章

  1. Linux命令大全----系统管理相关命令

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka       摘要:本文主要讲了Linux命令大全----系统管理相关命令,并附有实例 一.安装 ...

  2. WinDbg常用命令系列---.write_cmd_hist (写命令历史记录)

    .write_cmd_hist 简介 .write_cmd_hist命令将调试器命令窗口的整个历史记录写入文件. 使用形式 .write_cmd_hist Filename 参数 Filename指定 ...

  3. 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令

     Redis常用命令 Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以再Linux终端使用. 键值相关命令: Keys:返回满足给定pattern的所有key 用表达式*表 ...

  4. dos命令:网络相关命令

    网络相关命令 一.Arp命令 1.介绍 ​ 显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表. 2.语法 ARP -s inet_addr eth_addr [if_addr] ARP ...

  5. WinDbg常用命令系列---异常相关操作

    .exr (Display Exception Record) .exr命令显示异常记录的内容. .exr Address .exr -1 参数: Address指定异常记录的地址.如果指定-1作为地 ...

  6. WinDbg常用命令系列---线程相关操作~*

    ~ (Thread Status) 波浪符(~)命令显示指定线程或当前进程中所有线程的状态. ~ Thread 参数: Thread指定要显示的线程.如果省略此参数,将显示所有线程. 环境: 模式 仅 ...

  7. Windbg程序调试系列1-常用命令说明&示例

    Windbg程序调试是.Net高级开发需要掌握的必备技能,分析内存泄露.分析高CPU.分析线程阻塞.分析内存对象.分析线程堆栈.Live Dedugging.这个领域可以说一个技能+场景化应用的结合, ...

  8. 【常用命令】Linux相关命令

    [[TOC]] iostat - 查看系统I/O状况 -k Display statistics in kilobytes per second -m Display statistics in me ...

  9. linux常用命令-1系统相关命令

    hostname #计算机名 passwd #修改密码 reboot #重启 shutdown –r now #立刻重启(root用户使用) shutdown –r 10 #过10分钟自动重启(roo ...

随机推荐

  1. python3 简陋的学生信息管理系统

    # 编写一个“学生信息管理系统”# 输入序号:1. 输入学生信息,学生信息包括:id,name,age,gender(用什么数据类型保存?)# 2. 查询:输入学生姓名和id,显示学生个人信息# 3. ...

  2. .net Dapper 学习系列(2) ---Dapper进阶

    目录 写在前面 前期准备 Dapper 单表批量添加 在Dapper 多表查询 在Dapper 调用存储过程 在Dapper 使用QueryMultiple进行多表查询 在Dapper 使用事务进行多 ...

  3. Outlook 邮件助手

    Outlook 邮件助手 1 Overview 2 C# 编程 3 Outlook 设置 3.1 Outlook 2013 3.2 Outlook 2010 1 Overview 本章将示例如何开发一 ...

  4. DotNet Core 2.2 MVC Razor 页面编译为 View.dll 文件的解决方法

    使用文本文件编辑器打开项目文件,找到: <PropertyGroup>     <TargetFramework>netcoreapp2.0</TargetFramewo ...

  5. 全网独发gensim中similarities.Similarity用法

    index = similarities.MatrixSimilarity(lsi[corpus]) # 管网的原文翻译如下: 警告:similarities.MatrixSimilarity类仅仅适 ...

  6. Grafana+prometheus+AlertManager+钉钉机器人

    一.Grafana (1)安装Grafana的Linux环境 在官网下载windows的Grafana的压缩包到指定目录,解压缩Grafana压缩文件到包含当前Grafana版本的文件夹.将该文件夹解 ...

  7. 用vue-cli搭建vue项目

    首先需要明确的是:Vue.js 不支持 IE8 及其以下 IE 版本,一般用与移动端,基础:开启最高权限的DOS命令(否则会出现意外的错误提示) 一.安装node.js,检测版本node -v,还要检 ...

  8. insmod/rmmod

    insmod -f 不检查目前kernel版本与模块编译时的kernel版本是否一致,强制将模块载入 -k 将模块设置为自动卸除 -m 输出模块的载入信息 -o <模块名称> 指定模块的名 ...

  9. unity 实现技能释放

    要实现技能释放其实很简单,说白了就是在指定的位置Instantiate一个对应的例子特效.我走的弯路主要在寻找这个指定位置上. 对于指向性技能就不多说了,因为是有确切目标的(当然首先判断下技能能不能对 ...

  10. python基础-模块(全是理论,没有代码)

    模块 概念:一系列功能的结合体.相当于模块包着一堆函数与代码.本质上是py文件. 来源: python内置的模块----→ python解释器的模块 第三方的模块 -----→ 其他人编写提供的 自定 ...