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. 给element添加自定义图标

    element为我们提供了丰富的好用的组件,图标的样式也很多,但还是有一些常用的图标没有在官方图标库里边,比如说微信.淘宝.支付宝等等.那么如何把我们需要的图标添加到进去呢? 因为element有官方 ...

  2. Etcd 使用入门

    etcd简介 etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库.etcd内部采用raft协议作为一致性算法,etcd基于Go语 ...

  3. 认证授权-学习笔记2-OpenId Connect

    简介 简单来说:OIDC是OpenID Connect的简称,OIDC=(Identity, Authentication) + OAuth 2.0.它在OAuth2上构建了一个身份层,是一个基于OA ...

  4. Spring AOP 创建Advice 定义pointcut、advisor

    前面定义的advice都是直接植入到代理接口的执行之前和之后,或者在异常发生时,事实上,还可以对植入的时机定义的更细. Pointcut定义了advice的应用时机,在Spring中pointcutA ...

  5. Go内存分配器可视化指南【译】【精】

    当我第一次开始尝试理解 Go 语言的内存分配器时,整个过程让我抓狂.一切看起来都像一个神秘的黑盒子.因为几乎所有技术魔法(technical wizardry)都隐藏在抽象之下,所以你需要一层一层的剥 ...

  6. 解读HTTP/3

    技术的发展总是让人目不暇接,2018年10月,HTTP/3又发布了.虽然已经有一些中文技术媒体做了报道,但大多数是翻译的,而且内容大同小异.最近我专门学习了点关于HTTP/3的知识,在这里随便写写,和 ...

  7. 【转载】 C#中使用int.TryParse方法将字符串转换为整型Int类型

    在C#编程过程中,将字符串string转换为整型int过程中,时常使用的转换方法为int.Parse方法,但int.Parse在无法转换的时候,会抛出程序异常,其实还有个int.TryParse方法可 ...

  8. VUE基础回顾2

    1.响应式 vue修改了每个添加到data上的对象,当该对象发生变化时vue会收到通知,从而实现响应式.对象的每个属性都会被替换为getter,setter方法. 有两种方式实现data对象的监听 ( ...

  9. security Alternative forms secuerity

    security Alternative forms secuerity (mostly obsolete) English Alternative forms secuerity Pronuncia ...

  10. vue v-for中的item改变无法引起视图的更新

    写过angularjs的同学知道,如果ng-repeat中的item绑定到对应的model,item改变是会引起视图的更新的,但是vue中不起作用,具体的解决办法: 在vue脚手架中,首先引入vue ...