最近看了一个开源数据库管理,然后没有认真看它的配置环境,想看看是什么东西,

然后发现有类型转换的错误,但是一下子也定位不到哪里出错?

所以对于这种一下子找不到异常在哪里的,可以使用intellitrace智能跟踪查找,想必也是极好地!

这样就可以直接定位到异常点了。当然webform只要配置一下webconfig,winform也只要在即时窗口输出就可以查看了。

因为之前不了解intellitrace,原来vs2010默认启用intelitrace的。

在 调试》选项》intellitrace可以查看默认设置

勾选intellitrace事件和调用信息就可以,还原查看断点命中的信息了。intellitrace暂时只支持X86平台程序。

在 Microsoft Visual Studio 2010 旗舰版中,可以使用 IntelliTrace 进行调试,与传统调试器相比,它可以提供应用程序的增强的图片。 传统的调试器会向您显示应用程序当前时间的状态以及有关过去发生的事件的有限信息。 您必须根据应用程序当前时间的状态推断过去发生的事件,或重新启动应用程序以重新创建过去的事件。 利用 IntelliTrace,您可以实际看到过去发生的事件以及发生这些事件所在的上下文, 从而可以减少调试应用程序所需的重新启动的次数,并降低重新运行应用程序时错误无法重现的可能性。

IntelliTrace 将扩展并增强您已习惯的 Visual Studio 实时调试体验。 您仍可以使用所有熟悉的 Visual Studio 调试器功能。 IntelliTrace 以不可见的方式在后台运行,并记录调试信息。 如果希望回顾应用程序过去的状态,可以进入 IntelliTrace 模式。 在此模式下,可以导航到记录了感兴趣的事件的不同时间点。

IntelliTrace 可通过缩短调试周期来节省时间。举例来说,假设您正在调试一个在初始化期间读取某注册表值的应用程序,但该注册表项不存在。该问题当时带来的影响可能并不显著,但在较长一段时间后运行应用程序时,问题就会凸显出来。这时,您必须确定未读取注册表值的原因。通常的方法是重新启动应用程序,并在注册表访问附近设置一个断点。重新运行应用程序需要花一些时间。利用 IntelliTrace,可以避免许多诸如此类的重新启动操作。您可以使用 IntelliTrace 开始进行调试(而不是重新运行应用程序),从而使您能够回顾所有注册表访问,选择感兴趣的注册表访问,并检查发生该注册表访问时应用程序的状态。在调试诸如异常或文件访问错误等其他问题时,也可以像这样节省时间。

利用 IntelliTrace,可以调试在其他情况下不可重现的错误和崩溃。可以调试由 IntelliTrace 或测试管理器创建的日志文件。测试人员可以将日志文件从测试管理器直接链接到可以分配给开发人员的 Team Foundation Server 工作项或 Bug。IntelliTrace 和测试管理器通过这种方式集成到团队工作流中。

调试 IntelliTrace 文件时,其流程与调试转储文件类似。但是,IntelliTrace 文件提供的信息比传统转储文件提供的信息多得多。转储文件提供某个时刻(通常是正好发生崩溃时)应用程序状态的快照。利用 IntelliTrace,不仅可以回顾历史记录以了解该应用程序的状态,还可以回顾应用程序早期运行阶段发生的事件。这样一来,从日志文件进行调试比从转储文件进行调试更为快速方便。

 
 
 

IntelliTrace 调试、定位异常的更多相关文章

  1. .net程序调试一:快速定位异常

    作为一个程序员,解BUG是我们工作中常做的工作,甚至可以说解决问题能力是一个人工作能力的重要体现.因为这体现了一个程序员的技术水平.技术深度.经验等等. 那么在我们解决BUG的过程中,定位问题是非常重 ...

  2. .NET程序调试技巧(一):快速定位异常的一些方法

    作为一个程序员,解BUG是我们工作中常做的工作,甚至可以说解决问题能力是一个人工作能力的重要体现.因为这体现了一个程序员的技术水平.技术深度.经验等等. 那么在我们解决BUG的过程中,定位问题是非常重 ...

  3. 反调试——Windows异常-SEH

    反调试--Windows异常-SEH 概念: SEH:Structured Exception Handling SEH是Windows默认的异常处理机制 如何使用 在代码中使用 __try​​__e ...

  4. IntelliTrace调试

    当您进行调试时,IntelliTrace 将在后台收集有关托管应用程序的数据,其中包括来自许多框架组件(例如 ADO.NET.ASP.NET 和 System.XML)的信息.这些 IntelliTr ...

  5. Try-Catch无法正确定位异常位置,我推荐2个有效技巧

    宇宙第一开发IDE Visual Studio的调试功能非常强大,平常工作debug帮助我们解决不少问题.今天分享两个异常捕获的技巧,希望能够帮助解决一些问题. 以下两种情况,我相信大家都会遇到过. ...

  6. ASP.NET MVC bootstrap 3 ie 8兼容问题及错误解决(取消IE禁用IE脚本调试定位js文件错误)

    因要做一个B/S架构的项目,使用MVC框架技术,本人不擅长页面设计美工,只好用bootstrap框架,在chrome内核系列的浏览器和IE 11中显示都没有问题,但是在 IE 8下显示却不正常,表格无 ...

  7. 软件调试——CPU异常列表

    CPU异常主要分为三类:错误类异常,陷阱类异常和终止类异常 1 错误类异常 Fault CPU遇到该类异常后,会先将CS和EIP(当前发生错误的指令,而不是下一条指令)压栈,然后跳到异常处理函数中,执 ...

  8. js调试-定位到函数所在文件位置

    原文:http://www.cnblogs.com/52cik/p/js-console-show-source.html 在控制台输入要查找的函数名如votePost 然后回车: 函数源码粗显啦,并 ...

  9. WinDBG快速定位异常位置

    在WinDBG中通过搜索内存中保存的CONTEXT结构来定位发生的异常信息,再通过WinDBG命令.cxr显示对应的调用堆栈信息.   .foreach ( place { s-[1]d 0 L?FF ...

随机推荐

  1. String中intern的方法

    首先查看官方API那个的解释: ——————————————————————————————————————— intern public String intern() 返回字符串对象的规范化表示形 ...

  2. Java中的字符串驻留(String Interning)

    1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. ne ...

  3. 【转】 C++中如何在一个构造函数中调用另一个构造函数

    在C++中,一个类的构造函数没法直接调用另一个构造函数,比如: #ifndef _A_H_ #define _A_H_ #include <stdio.h> #include <ne ...

  4. python运算符的优先级

    运算符优先级 如果你有一个如2 + 3 * 4那样的表达式,是先做加法呢,还是先做乘法?我们的中学数学告诉我们应当先做乘法——这意味着乘法运算符的优先级高于加法运算符. 下面这个表给出Python的运 ...

  5. qtp不识别树结构中的点击事件

    qtp不识别树结构中的点击事件,未生成该点击事件的脚本,解决办法: 1.未生成点击"auto分类c1"的脚本 2.点击1.对象库-2.添加对象库-3.选中对象-点击OK,即将该对象 ...

  6. linux操作系统cp命令

  7. 【转】C数据存储(包括const存储在哪,C++不同部分我在文中用红字已指出)

    非原创(文中红字为自己见解,如有不对,请大神指点) 程序由指令和数据组成,C语言程序亦是如此.开发者在编写程序的时候往往需要根据不同数据的特点以及程序需求来选择不同的数据存储方式,那么在C语言中数据的 ...

  8. C#中克隆随机数的三种方法(为什么我想到了茴字的四种写法

    C#中的Random类可以用来产生伪随机数(正确的废话 伪随机数的一个性质就是给定一个初始种子,那么产生的随机数列都是相同的,这个性质非常适合用在不同环境之间同步逻辑的场景. 最近有一个要克隆当前随机 ...

  9. JSF2.0 タグ一覧 (h:panelGrid) 編

    JSF の HTML (UIComponent) 系タグにはテーブルを作成するタグが2種類用意されています.これらのタグと固有機能系タグを組み合わせることでテーブルを使用した画面を作成可能です. 6. ...

  10. 【转载】高性能I/O设计模式Reactor和Proactor

    转载自:http://blog.csdn.net/roger_77/article/details/1555170 昨天购买了<程序员>杂志 2007.4期,第一时间去翻阅了一遍,其中有一 ...