First Chance Exception是什么?
是否调试过应用程序并在输出窗口中看到有关“First Chance”异常的消息?有没有想过:
- 什么是First Chance Exception?
- 第一次机会异常是否意味着我的代码中存在问题?
在调试应用程序时,每当此时遇到异常,调试器就会收到通知,应用程序将挂起,调试器将决定如何处理异常。第一次通过此机制称为“第一次机会”异常。根据调试器的配置,它将恢复应用程序并传递异常,或者使应用程序挂起并进入调试模式。如果应用程序处理异常,它将继续正常运行。
在Visual Studio中,您可能会在输出窗口中看到如下消息:

在Windbg里如下:

如果应用程序不处理异常,则重新通知调试器。这被称为“second chance”异常。调试器再次挂起应用程序并确定如何处理此异常。通常,调试器被配置为在第二次出现异常(未处理)时停止,并进入调试模式,允许您进行调试。
“First Chance Exception”是否意味着我的代码中存在问题?第一次出现异常消息通常并不意味着代码中有问题。对于能够优雅地处理异常的应用程序/组件,“First Chance Exception”消息会让开发人员知道遇到了异常情况并得到了处理。对于没有异常处理的代码,调试器将收到第二次机会的异常通知,并将在出现未处理的异常时停止。
First Chance Exception是什么?的更多相关文章
- 【性能诊断】九、并发场景的性能分析(windbg案例,Fist Chance Exception/Crash dump)
经常会碰到这样的场景,自测及单单点的测试时没有任何问题,但在并发环境或生产环境下有时出现没规律的异常.报错等情况.在代码中增加日志是其中一种解决方式:抓取指定异常时的dump,通过wind ...
- (C# Debug)A first chance exception of type 'System.ArgumentException' occurred in System.Data.dll
Debug 模式下运行程序的时候,Output 窗口出来个错误“A first chance exception of type 'System.ArgumentException' occurred ...
- What is a First Chance Exception?
Refrences: http://blogs.msdn.com/b/davidklinems/archive/2005/07/12/438061.aspx To be continued...
- (C#) Tasks 中的异常处理(Exception Handling.)
多线程编程中要注意对线程异常的处理.首先写个例子. 一个线程用于显示信息(Show Messages).主线程用于做其他工作(Do Works). using (Task taskShowMessag ...
- 如何解决Visual Studio调试Debug很卡很慢
http://brightguo.com/make-debugging-faster-with-visual-studio/ Have you ever been frustrated by slow ...
- 【性能诊断】五、并发场景的性能分析(windbg简介及dump抓取)
windbg简介 Windbg是在windows平台下,强大的用户态和内核态调试工具.相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能 ...
- IIS不定期Crash和Oracle“未处理的内部错误(-2)”的问题分析
问题描述:系统不定期报出Oracle“未处理的内部错误(-2)”,严重时IIS会Crash 典型异常日志如下: Exception type: System.AccessViolationExce ...
- windbg调试.net程序
1. 解决线上.NET应用程序的如下问题: 崩溃 CPU高 程序异常 程序Hang死 2. 安装WinDbg: http://msdn.microsoft.com/en-us/windows/hard ...
- delphi 01设置 字体属性
设置/获取 字体属性 名称 大小 粗体 斜体 下划线 删除线 颜色1 颜色2 uses MSHTML; //设置 //------------------------------------- ...
随机推荐
- [数据结构 - 第8章] 查找之哈希表(C语言实现)
首先是需要定义一个哈希表的结构以及一些相关的常数.其中 HashTable 就是哈希表结构.结构当中的 elem 为一个动态数组. #define HASHSIZE 12 // 定义哈希表长为数组的长 ...
- Qt 绘制图表 - Qt Charts版
一.前言 自从 Qt 发布以来,给广大跨平台界面研发人员带来了无数的福利.但是Qt自己却一直没有提供自带的图表库,这就使得 QWT.QCustomPlot 等第三方图表库有了巨大的生存空间,为了降低开 ...
- Python连载31-threading的使用
一. 例子:我们对传参是有要求的必须传入一个元组,否则报错 二. import _thread as thread import time def loop1(in1): print("St ...
- 修改Yarn的全局安装和缓存位置
在CMD命令行中执行 #1.改变 yarn 全局安装位置 yarn config set global-folder "你的磁盘路径" #2.然后你会在你的用户目录找到 `.yar ...
- MySQL8的密码策略
解释: 由于valiadte_password策略.密码强度需要非常高,所以有时候密码都无法成功修改.了解完下面变量就能解决了. validate_password.policy:密码策略,检查用户的 ...
- 《 .NET并发编程实战》阅读指南 - 第10章
先发表生成URL以印在书里面.等书籍正式出版销售后会公开内容.
- 2019-11-29-VisualStudio-好用插件集合
原文:2019-11-29-VisualStudio-好用插件集合 title author date CreateTime categories VisualStudio 好用插件集合 lindex ...
- new/delete与malloc/free的区别
new/delete与malloc/free的区别 参考: https://blog.csdn.net/u013485792/article/details/51329541 https://www. ...
- PLSQL 登录时弹出(没有登录)空白提示框
如题,在登录的时候莫名出现了plsql登录时弹出(没有登录)的空白提示框,在网上找了很多方法之后都不行,然后发现plsql的 oracle主目录名莫名的成了空,然后直接重新把它的目录设置上 重启pls ...
- 实验吧——看起来有点难(sql盲注)
题目地址:http://ctf5.shiyanbar.com/basic/inject/ 首先当然是拿admin/admin来试试啊,多次测试发现,有两种错误提示 1.数据库连接失败! 2.登录失败, ...