VS中的Modules窗口
当我在别人的机器上调试问题时,我做的第一件事就是查看modules窗口。按版本排序并看到一个不属于的dll可以帮助立即诊断配置问题,并节省许多调试痛苦。

下面介绍下各列的意思:
- Name:
模块名称。 - Path:
PE在文件系统上的位置。当您希望找到正确的PE以开始使用命令行工具进行查询时,这非常有用。 - Optimized:这是针对托管代码的。它告诉您,当从MSIL转到目标平台本机指令集时,JIT编译器是否使用了优化。
- User Code:在调试器选项中,它也被称为“只是我的代码”。如果您刚刚打开了我的代码,并且dll已优化或没有符号,我们将把它视为“非用户”代码。这意味着调用堆栈窗口中的所有帧都将折叠到一个[非用户代码]帧之后。默认情况下,这个特性是关闭的C++,以及VB和C用户配置文件。您可以在Tools/options/Debugging/Enable-Just-My-Code下切换它。“JMC”的全部分支比简单地隐藏调用堆栈帧要大得多。它包括遍历非用户代码,一直到代码开始运行的地方(并且执行得很快)。Mike Stall在博客中提到了其中一些。
- Symbol Status:这将告诉您是否加载了符号。它还可以告诉您它们是否被剥离(实际上只是一个本地dll问题),或者devenv是否只是加载了导出。如果您正在执行崩溃转储调试,它还可以判断是否已找到二进制文件。右键单击上下文菜单,您可以加载符号,跳转到“符号设置…”对话框,还可以查看我们搜索符号的位置。
- Symbol File:pdb文件所在的位置。上下文菜单项“符号加载信息…”可以告诉您调试器查找符号的位置。
- Order:加载顺序
- Version: dll的版本信息。这对于将相关组件组合在一起非常有用,并且通常会在有人的版本不好时向您显示。查看我们在visual studio版本字符串中保留的信息量。
- Timestamp: 这是真正的交易-链接器(或.Net编译器)生成并将PE发送到世界上时的内部时间戳。
看看这个:
C:\Program Files\Internet Explorer>dir iexplore.exe
Volume in drive C has no label.
Volume Serial Number is 2CAB-3E87Directory of C:\Program Files\Internet Explorer
08/04/2004 05:00 AM 93,184 IEXPLORE.EXE
文件系统的时间戳是什么。如果你想知道它什么时候落在你的硬盘上就好了。对于确定它比过程中的所有相关组件都晚2天构建来说,没有那么有用。
C:\Program Files\Internet Explorer>dumpbin /headers IEXPLORE.EXE | findstr time
41107B81 time date stamp Tue Aug 03 23:00:33 2004
这是你真正想要的。好...这是我真正想要的。这就是你在这个专栏里看到的。在VS之前的版本中,托管代码的时间戳是不太有用的文件系统时间戳。 - Address:
进程内存中PE的加载地址范围。最左边是一列没有标题的图标。如果图标看起来像一个小页面,则此地址是首选加载地址。如果它有一个带有红色感叹号的页面,那么这个PE在加载时被重新定位。如果你拥有这个PE,找到一个它自己的地方,它可能加载得更快。 - Process:
进程名:其中之一(本机或托管)。注意:如果您正在进行混合模式调试,那么许多dll实际上会在“模块”窗口中有行。一个用于“本机”dll加载。。。在某种程度上,一切都是土生土长的。一个用于托管dll加载。您可以知道它们是同一个dll,因为地址范围将匹配。基名可能不匹配,因为有时NGen的dll显示时,名称中添加了“ni”扩展名。(例如Microsoft.Build.utilities.ni.dll。)
通过单击并拖动列,可以更改“模块”窗口中列的顺序。还可以通过拖动边框来调整列的大小。另一个巧妙的技巧是通过标题栏上的上下文菜单将窗口设置为选项卡式文档。你可以在devenv的任何一个窗口中完成这项工作。
VS中的Modules窗口的更多相关文章
- (转载)JavaScript中的Window窗口对象
(转载)http://www.ijavascript.cn/jiaocheng/javascript-window-65.html 例子: <html> <head> < ...
- C#在父窗口中调用子窗口的过程(无法访问已释放的对象)异常,不存在从对象类型System.Windows.Forms.DateTimePicker到已知的托管提供程序本机类型的映射。
一:C#在父窗口中调用子窗口的过程(无法访问已释放的对象)异常 其实,这个问题与C#的垃圾回收有关.垃圾回收器管 理所有的托管对象,所有需要托管数据的.NET语言(包括 C#)都受运行库的 垃圾回收器 ...
- (转)C#在父窗口中调用子窗口的过程(无法访问已释放的对象)
C#在父窗口中调用子窗口的过程: 1. 创建子窗口对象 2. 显示子窗口对象 笔者的程序中,主窗体MainFrm通过菜单调用子窗口ChildFrm.在窗体中定义了子窗口对象,然后在菜单项点击事件中 ...
- C#中关闭子窗口而不释放子窗口对象的方法
1 在主窗口中实例化子窗口 在主窗口中实例化子窗口,而不是在按钮中实例化子窗口对象. Form2 f2 = new Form2(); 2 通过按钮来显示主窗口 在按钮中需要实现的是窗口的显示 priv ...
- DELPHI中MDI子窗口的关闭和打开
DELPHI中MDI子窗口的关闭 和打开 Delphi中MDI子窗口的关闭方式默认为缩小而不是关闭,所以当你单击子窗口右上角的关闭按钮时会 发觉该子窗口只是最小化,而不是你预期的那样被 ...
- DELPHI中MDI子窗口的关闭 和打开
Delphi中MDI子窗口的关闭方式默认为缩小而不是关闭,所以当你单击子窗口右上角的关闭按钮时会发觉该子窗口只是最小化,而不是你预期的那样被关闭.解决办法是在子窗口的OnClose事件处理过程中加入如 ...
- Android中简单活动窗口的切换--Android
本例实现Android中简单Activity窗口切换:借助intent(意图)对应用操作(这里用按钮监听)等的描述,Android根据描述负责找对应的组件,完成组件的调用来实现活动的切换……案例比较简 ...
- Qt中的主窗口之菜单栏
1.Qt中的主窗口 主窗口为建立应用程序用户界面提供了一个框架 Qt开发平台中直接支持主窗口的概念 QMainWindow是Qt中主窗口的基类 QMainWindow继承于QWidget是一种容器类型 ...
- MFC如何在有界面的应用程序中开启控制台窗口
在有界面的应用程序中开启控制台窗口有时候非常有用,尤其是在调试多线程应用程序中,由于通过断点的方式调试程序时会导致线程挂起从而导致各种难于预料的结果.这时候就可以通过开启控制台窗口往窗口输出信息来查看 ...
随机推荐
- Thread&ThreadPool、Parallel、Async和Await用法总结
1.线程和线程池Thread&ThreadPool //线程初始化时执行方法可以带一个object参数,为了传入自定义参数,所以执行需单独调用用于传参. Console.WriteLine(& ...
- vs2019 更新之后无法用ctrl+d再设置回来..
工具-选项-环境-键盘
- Maven介绍及环境搭建
Maven介绍及环境搭建 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建.报告和文档的软件项目管理工具. 下载Maven boot:类加载器框架,Maven使用它加在自 ...
- Distributed and Parallel Computing
Omega Network Model
- 出师表(ENGLISH) 强烈打call啊~王洛勇是什么神仙英语
臣亮言:先帝创业未半而中道崩殂, Permit me to observe: the late emperor was taken from us before he could finish his ...
- 【UOJ#32】【UR #2】跳蚤公路(最短路)
[UOJ#32][UR #2]跳蚤公路(最短路) 题面 UOJ 题解 不难发现要求的就是是否存在负环.也就是我们只需要找到所有的负的简单环,很容易就可以想到维护路径上和\(x\)相关的内容,即维护一下 ...
- IDEA 调试 JAVA ConcurrentLinkedQueue
调试ConcurrentLinkedQueue 源码 poll() 方法时 ,出现了比较奇怪的现象,当时队列里有两个元素,如下截图, 但执行完 p.casItem(item, null)后,出现了令人 ...
- asp.net oracle 中文乱码 解决方法
asp.net oracle 中文乱码 解决方法 不需要去修改oracle以及client的字符集,只需要在web.config中连接字符串上加上 Unicode=True 问题解决. <add ...
- C# - Winform - DevExpress - GridControl 任意条件控制Row背景色。
private void gvSendConfirm_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCusto ...
- FCC-学习笔记 DNA Pairing
FCC-学习笔记 DNA Pairing 1>最近在学习和练习FCC的题目.这个真的比较的好,推荐给大家. 2>中文版的地址:https://www.freecodecamp.cn/;英 ...