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

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

所以对于这种一下子找不到异常在哪里的,可以使用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. 【 D3.js 高级系列 — 2.0 】 捆图

    捆图(Bundle)是 D3 中比较奇特的一个布局,只有两个函数,而且需要与其它布局配合使用.本文讲述捆图的制作方法. 有关捆图的例子极少,很容易找到的是:http://bl.ocks.org/mbo ...

  2. 【转】Git详解之一:Git起步

    原文网址:http://blog.jobbole.com/25775/ 原文:<Pro Git> 起步 本章介绍开始使用 Git 前的相关知识.我们会先了解一些版本控制工具的历史背景,然后 ...

  3. 如何升级cordova插件

    cordova-plugin-code-push插件在cordova6.1.1 ios环境中出现异常. 所以尝试升级cordova-plugin-code-push来解决这个问题. 升级没有被依赖的插 ...

  4. MemoryMappedFile 内存映射文件 msdn

    http://msdn.microsoft.com/zh-cn/library/dd997372%28v=vs.110%29.aspx 内存映射文件 .NET Framework 4.5 其他版本 1 ...

  5. HttpListener supports SSL only for localhost? install certificate

    1.Start-All Programs - 2.execute below lines on that ‘Developer Command Prompt..’ tool makecert -n & ...

  6. LoadRunner常见问题整理(转)

    首先要感谢群友的无私分享,才能得到这篇好的学习资料,整理得太好了,所以收藏保存,方便以后学习. 一:LoadRunner常见问题整理 1.LR 脚本为空的解决方法: 1.去掉ie设置中的第三方支持取消 ...

  7. visual studio 中使用git

    原文链接:http://my.oschina.net/gal/blog/141442 osc终于全面开放git库了,这是我一直期待的事,也是促使我从CSDN转回OSC社区的重要原因之一.而这次我来教大 ...

  8. jvm 漫谈 笔记

    1.Jvm到底是什么呢? Jvm其实就是模拟一台计算机,每种cpu都有自己的指令集,jvm自己设置一套指令集,这就是我满看的的字节码,然后jvm需要执行这些字节码,其实这些字节码最终直接对应到cpu的 ...

  9. 自己手动写http服务器(2)

    tringBuilder response =new StringBuilder(); //1) HTTP协议版本.状态代码.描述 response.append("HTTP/1.1&quo ...

  10. NOIP 2014 无线网络发射器选址

    水题..直接暴力 #include<cstdio> #include<algorithm> using namespace std; const int inf = 0x3f3 ...