如果您正在开发软件,很可能遇到了“不匹配的PDB”调试器错误。当您将调试器指向错误的符号路径时,通常会发生这种情况。 但有时你确信你所指向的符号是正确的符号,这让你想知道为什么调试器认为这些符号不匹配。
 "!sym noisy“将告诉您windows调试器如何搜索符号,并在遇到不匹配的pdb时报告它们,但它不会告诉您符号不匹配的原因。针对这一点,我们可以用扩展命令!itoldyouso

!itoldyouso简介

这个扩展命令根据模块测试符号文件的有效性。模块可以由其名称或基址指定。如果未指定符号文件,则测试加载的符号。否则,如果指定了pdb或dbg符号文件路径,则针对加载的模块对其进行测试。

语法

!IToldYouSo <module> [symbol]

  • module
    模块,可以是名称也可以是地址
  • symbol
    符号文件路径

用例

  • 匹配的情况
    0:000> !itoldyouso libcef F:\..\libcef.dll.pdb

    libcef.dll
        Timestamp: 5A9FC023
      SizeOfImage: 2F86000
              pdb: F:\Code\cef\2623\chromium\src\out\Release\libcef.dll.pdb
          pdb sig: BE989A0F-1981-4A33-8F9C-44FDDE3E2BB2
              age: 1

    libcef.dll.pdb
          pdb sig: BE989A0F-1981-4A33-8F9C-44FDDE3E2BB2
              age: 1

    MATCH: libcef.dll.pdb and libcef.dll

  • 不匹配的情况
    0:000> !itoldyouso libcef F:\..\libcef.dll1.pdb

    libcef.dll
        Timestamp: 5A9FC023
      SizeOfImage: 2F86000
              pdb: F:\Code\cef\2623\chromium\src\out\Release\libcef.dll.pdb
          pdb sig: BE989A0F-1981-4A33-8F9C-44FDDE3E2BB2
              age: 1

    F:\..\libcef.dll1.pdb - Could not find PDB.

    0:000> !itoldyouso libcef F:\..\Update.pdb

    libcef.dll
        Timestamp: 5A9FC023
      SizeOfImage: 2F86000
              pdb: F:\Code\cef\2623\chromium\src\out\Release\libcef.dll.pdb
          pdb sig: BE989A0F-1981-4A33-8F9C-44FDDE3E2BB2
              age: 1

    Update.pdb
          pdb sig: 7A98EDE4-B661-401E-86E5-2A9BFF443B9E
              age: 1

    sig MISMATCH: Update.pdb and libcef.dll

验证符号文件的又一方法(!itoldyouso)的更多相关文章

  1. MyEclipse取消验证Js的两种方法

    MyEclipse取消验证Js的两种方法 作者: 字体:[增加 减小] 类型:转载 通过js写一个web工程的相关页面时感觉很卡,修改内存也不行下面有两种解决方法,大家可以尝试下 前言:有时我们通过j ...

  2. MVC4验证用户登录特性实现方法

    在开发过程中,需要用户登陆才能访问指定的页面这种功能,微软已经提供了这个特性. // 摘要: // 表示一个特性,该特性用于限制调用方对操作方法的访问. [AttributeUsage(Attribu ...

  3. 表单验证之validform.js使用方法

    一.validform有什么用? 网页上有大量的input需要你进行验证的时候,如果是弹窗的话,需要不停地判断,如果为空,弹窗.如果不是数字,弹窗. 所以要将这么多验证交给一个js去验证. 二.我现在 ...

  4. 表单验证插件 jquery.validata 使用方法

    参考资料:http://www.runoob.com/jquery/jquery-plugin-validate.html 下载地址 jquery.validate插件的文档地址http://docs ...

  5. SpringMVC数据验证(AOP处理Errors和方法验证)

    什么是JSR303? JSR 303 – Bean Validation 是一个数据验证的规范,2009 年 11 月确定最终方案. Hibernate Validator 是 Bean Valida ...

  6. thinkphp5.1验证器场景验证中传参的方法。

    一个场景:用户保存自己的昵称,如果已经有其他用户用了这个昵称则不允许保存,但是要排除当前用户自己,因为如果用户未作修改,新昵称和老昵称一样,是可以保存的. 因为昵称定义了唯一规则: 'name' =& ...

  7. 验证调用HttpServletResponse.getWriter().close()方法是否真的会关闭http连接

    起因 线上项目突然遭到大量的非法参数攻击,由于历史问题,之前的代码从未对请求参数进行校验. 导致大量请求落到了数据访问层,给应用服务器和数据库都带来了很大压力. 针对这个问题,只能对请求真正到Cont ...

  8. jquery validate ajax 验证重复的2种方法

    转载自:http://blog.51yip.com/jsjquery/1484.html jquery validate 经过这种多年的改良,已经很完善了.它能满足80%的验证需要,如果validat ...

  9. jquery validate表单验证插件的基本使用方法及功能拓展

    1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.    1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素 3.鼠标离开后的正确.错误提示及鼠标移入时的帮助提 ...

随机推荐

  1. CLRS10.2-8练习 - 单指针值实现双向链表

    要求: Explain how to implement doubly linked lists using only one pointer value x.np peritem instead o ...

  2. Ole操作帮助类

    /// <summary> /// Ole操作类 /// </summary> public class OleDataBaseHandle { private static ...

  3. Jquery+CSS实现遮罩效果

    JavaScript: (function ($) { $.fn.ShowMask = function (options) { var defaults = { top: 150, left: 20 ...

  4. this关键字。

    一.this关键字主要有三个应用: (1)this调用本类中的属性,也就是类中的成员变量: (2)this调用本类中的其他方法: (3)this调用本类中的其他构造方法,调用时要放在构造方法的首行. ...

  5. 拓展 - Webrtc 的回声抵消(aec、aecm)算法简介

    webrtc 的回声抵消(aec.aecm)算法简介 原文链接:丢失.不好意思        webrtc 的回声抵消(aec.aecm)算法主要包括以下几个重要模块:1.回声时延估计 2.NLMS( ...

  6. Ext下载文件

    项目中前台用的是Ext JS,要从数据库中查询数据并导出为Excel表格 对此研究了下,代码如下: 前台代码: /** * 进行下载文件(form方式) */ _downloadDraft:funct ...

  7. react学习记录(二)

    JSX 在render中return标签的部分可以插入字符串,数字,数组 class Welcome extends React.Component { render(){ return ( < ...

  8. 彻底弄懂ES6中的Map和Set

    Map Map对象保存键值对.任何值(对象或者原始值) 都可以作为一个键或一个值.构造函数Map可以接受一个数组作为参数. Map和Object的区别 一个Object 的键只能是字符串或者 Symb ...

  9. EFCore 中执行存储过程返回DataSet DataTable

    在项目中由于需求,需要返回复杂的数据,需要执行存储过程,但是在DONETCORE2.0中,看官网文档执行的sql的有点操蛋,满足不了需求,就想到了ADO.NET 于是找资料,也没有合适的,就动手自己封 ...

  10. MySQL Replication--多线程复制MTS

    多线程复制 多线程复制MTS(Mult-Threaded Slave Applier)指使用多个线程来并发应用二进制日志.在MYSQL5.6版本中,多线程复制基于schema来实现,将多个数据库下的事 ...