问题标签 [first-chance-exception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1858 浏览

visual-studio-2010 - 防止输出窗口中的第一次机会异常

在 Visual Studio 2010 中,是否可以防止首次机会异常写入输出窗口?我们有一个场景,有很多强制转换设计失败,并且输出窗口在调试时确实减慢了应用程序的速度。写出“System.InvalidCastException”类型的第一次机会异常发生......一遍又一遍只需要很长时间。Visual Studio 中的控制台并不快 :<)

我知道不中断第一次机会异常的选项,但这似乎不会影响输出窗口。也没有把它放在让我们慢下来的领域之前:

关闭输出窗口也无济于事。虽然它在发布模式下运行得非常快。

任何帮助表示赞赏!

0 投票
1 回答
433 浏览

c++ - “第一次机会例外......”消息中的十六进制数字是什么意思?

例如,在消息中:

foo.exe 中 0x757bd36f 处的第一次机会异常:Microsoft C++ 异常:_ASExceptionInfo 位于内存位置 0x001278cc..

0x757bd36f 和 0x001278cc 是什么意思?我认为 0x757bd36f 表示抛出异常时的 EIP,但是第二个数字呢?

0 投票
1 回答
1393 浏览

c# - WebClient.DownloadString 提供第一次机会异常

对 WebClient.DownloadString 的调用给出了第一次机会异常:

一段时间以来,我收到了在现有代码中运行我们的软件的第一次机会异常。

我们的政策是我们的代码应该在不给出第一次更改异常的情况下运行,以使调试更容易。

在调用 DownloadString 时和远程主机不可用的远程处理场景中,WebClient 类中发生第一次机会异常。

有谁知道我们如何防止这种第一次机会异常?

我在 Windows 8 机器上运行 VS 2010。据我所知,我没有运行任何防病毒或防火墙。

该代码在启用调试的 .Net 框架 4.0 的 x86 模式下运行。代码是 VB.Net 和 C# 的混合体

0 投票
0 回答
138 浏览

visual-studio-2010 - How to suppress repetitions of specific first chance exceptions from 3d-party component if I have NOT access to its source code?

My program in C# 4.0 is using 3d-party library through which launches a process of for continuously getting the flux of data through DDE from external source on the internet.

After launching the process it is getting in Visual Studio 2010 Output window the endless repetitions with a frequency of few dozens per second of just 2 lines:

Is there any way to filter out these repetitions (after initial output of these two lines) or these specific exceptions but not first chance exceptions at large if I do not have access to source code of 3d-party dll?

Update:
The main problem is that I do not have access to source code of that used 3d-party library, it is obfuscated and meddling with it by its License immediately invalidates all the rights of its usage.

But I still essentially need the exception, warnings and errors output from it which is cluttered by thousands of omnipresent repetitions of just 2 exceptions

0 投票
1 回答
1438 浏览

c++ - 在 Win7 64 位上因未处理的第一次机会异常而崩溃(在 XP 32 位、Linux 64 位上没有问题)

我在 Visual Studio Express 2010 下用 C++ 编写 OpenGL 程序时遇到了一个奇怪的问题。
我使用:Windows 7 64bit,OpenGl 4.x
我的伙伴使用:Windows XP 32bit,Visual Studio Express 2010,OpenGl 2.x

到目前为止,我们只是为我们的模型绘制了顶点,并且它在两个系统上都可以正常工作(我知道,我知道:已弃用,但我们仍然是初学者)。现在他包含了一个库来导入 3d 网格并制作动画。对他来说一切正常,但我明白了

Ant Simulation.exe 中 0x0055f838 处的第一次机会异常:0xC0000005:访问冲突读取位置 0x00bb0000。
Ant Simulation.exe 中 0x0055f838 处未处理的异常:0xC0000005:访问冲突读取位置 0x00bb0000。

使用调试器,我将问题追溯到该行

glDrawArrays(GL_QUADS,0,n_data);

我试图捕捉代码,但没有触发任何东西。很奇怪,昨天我可以用调试器在这条线上重复 2-3 次,直到它崩溃,今天它直接崩溃了。我昨天检查了n_data每次都是一样的。如果我在 Windows 中执行 *.exe,它会崩溃(下面的错误代码)。当我的伙伴向我发送他的 *.exe 时,它​​通常不起作用,但我可以启动它 1 次。我在其他窗口上重现了该错误。我们在 Linux 64bit 上试过,没有问题。我尝试在兼容模式下运行它,但问题仍然存在(仍然崩溃)。

我四处搜索,发现:
https ://blogs.msdn.com/b/debugger/archive/2010/05/12/visual-studio-debugger-fails-to-catch-unhandled-exception-for-a-windows -form-or-wpf-application.aspx?Redirected=true

不确定我是否理解正确。有一个我无法捕获但会杀死应用程序的异常 - 但为什么其他系统没有出现此异常的问题?

我试图按照链接中描述的方式解决它,但似乎在 VS Express 中我没有抛出第一次机会异常的菜单。我会尝试获得 VS 2012,但我还是想知道:这是一个完全 Windows 的东西,还是我的代码有问题导致崩溃(如链接中的评论之一所建议)?我也非常感谢解释实际发生的事情......

运行 *.exe 时出现的错误:

问题事件名称:APPCRASH

应用程序名称:Ant Simulation.exe
应用程序版本:0.0.0.0

应用程序时间戳:511d99a3

故障模块名称:StackHash_0a9e

故障模块版本:0.0.0.0
故障模块时间戳:00000000

异常代码:c0000005

异常偏移量:0037f278

操作系统版本: 6.1.7601.2.1.0.256.48

区域设置 ID:1031

附加信息 1:0a9e

附加信息 2:0a9e372d3b4ad19135b953a78882e789

附加信息 3:0a9e

附加信息 4:0a9e372d3b4ad19135b953a78882e789

0 投票
0 回答
1240 浏览

.net - 程序崩溃,但 Debug Diag 说这是第一次机会异常,对吗?

可能这是正常情况,但我很困惑。

我正在从 Visual Studio 运行我的 C# 调试应用程序。DebugDiag 设置为自动附加到进程。

我有一条规则可以从此应用程序收集故障转储,并且该规则定义未配置的第一次机会异常的操作应为“无”。

但是当应用程序崩溃时,当我查看转储文件时,它说存在第一次机会异常。

这个 SO question的答案中,我了解到“异常首先被抛出给调试器,然后被抛出到实际程序,如果它没有被处理,它会再次被抛出给调试器”

那么为什么 DebugDiag 会为第一次机会异常收集转储文件呢?

编辑为了清楚起见,我不想在这里修复损坏的代码。我试图理解为什么 DebugDiag 告诉我第一次机会异常导致我的代码崩溃。当然,根据定义,只有第二次机会异常会导致代码崩溃,即代码未处理的异常?

“崩溃”意味着进程终止并且 DebugDiag 生成崩溃转储文件。我在“Start without Debugging”上运行代码的调试版本

0 投票
1 回答
9529 浏览

vb.net - System.ArgumentOutOfRangeException 是什么意思?(vb.net)

在 mscorlib.dll 中发生了“System.ArgumentOutOfRangeException”类型的第一次机会异常,它正在影响我的程序。这是我的代码。下面是我对代码的文字摘要。

因此,此代码用于在文本框“Group_LeaderTextBox”(我们称之为“X”)失去焦点时向列表框添加值。

逻辑是这样的(按编写代码的顺序):

但首先,一些先决条件:

  • 有两种方法可以将项目添加到列表框中,一种是通过 X(失去焦点),第二种是通过另一个文本框(我们称之为“Y”)。(不重要)
  • X 中添加到列表框中的所有文本首先出现在列表框中,无论列表框中已经存在什么。
  • 来自 X 的文本,比如“John”,当添加到列表框中时,将显示添加的字符串“(Group Leader)”。因此,在失去焦点时,“John”将显示为“John (Group Leader)”。请记住,也可以有来自 Y 的输入,但是来自 Y 的输入只是它包含的文本。
  • 如果(失去焦点)X 为空,则如果列表框中的第一项包含子字符串“(组长)”,它将被删除。因此,如果从 X 中删除“John”,则将删除“John (Group Leader)”。如果没有组长,什么都不会发生。

逻辑:

假设我在 X 中输入了“John”。失去焦点时,如果列表框为空,“John (Group Leader)”将简单地添加到列表框中。否则,例如,如果我已经通过 Y 向列表框中添加了一些项目,程序将检查列表框中是否已经存在“John”。如果有,并且列表中没有组长,则项目“John”将替换为添加到列表顶部的“John(组长)”(这不起作用)。如果已经有组长,“John(组长)”仍然会出现在最上面,但之前的组长会被降级。因此,如果之前的 "Dick" :P 是之前的组长,则字符串 "(Group Leader)" 将从 "Dick (Group Leader)" 中删除。

现在,如果在检查整个列表后,没有与“John”匹配的项目,那么程序将像以前一样检查是否已经有组长。如果有,那么之前的组长将被简单地替换为“John(组长)”。如果没有任何组长,那么“John(组长)”将被简单地添加到列表的顶部(这也不起作用)。

问题 1(场景)

X:约翰

名单:
约翰·
瑞奇
·简

或(无论列表的顺序如何)

名单:
瑞奇
·约翰·

在 X 失去焦点时,项目“John”应该已被删除并替换为添加到列表顶部的“John (Group Leader)”,但什么都没有发生。

问题 2(场景)

X:约翰

名单:
瑞奇

在 X 失去焦点时,“John (Group Leader)”应该被添加到列表的顶部,但什么都没有发生。

因此,每当我遇到这些问题时,异常都会出现在我的即时窗口中。谁能帮我?谢谢你。

0 投票
1 回答
257 浏览

c++ - 在执行代码之前进入函数时引发异常

与往常一样,我可能在这里遗漏了一些明显的东西。我无法发布整个源代码,因为它与工作相关,但我有一个模板Matrix类,其中包含一个mulMM(将矩阵乘以矩阵)函数和一个mulMT函数(将矩阵乘以转置矩阵)。这已经存在于代码中。我正在尝试添加一个mulMT专门用于单精度浮点值的函数。我有一个类似的专业,mulMM它共享相同的前两个函数参数。这是一些示例代码:

然后,在一个单独的文件中:

当我调用代码时,mulMM 正确地提取了输入矩阵的值,但是当我调用 mulMT 时,我得到了矩阵维度的随机数。使用调试器,我可以看到矩阵在进入时已正确定义,但一旦我进入函数,值都是错误的。这是我正在使用的一些示例代码:

我已经尝试将这两个值变成不同的 MT。我已经验证,当我的 mulMT for Floats 不存在时,通用的可以工作。我不知道为什么这是在做它正在做的事情。

编辑:为了证明 Float 专业化中的代码不是问题,我将其注释掉。一切正常。我取消了代码的注释。一切仍然有效。我在想,也许 Visual Studio 只是弄糊涂了,没有重新编译一些东西。

进一步编辑:好的......这很奇怪。调试时,当我第一次进入 mulMT 时,它会让我陷入const bool softmax) {. 如果我尝试 F10,我会遇到异常。如果我按 F11,它会让我陷入ChkStk.asm. 如果我退出该文件,我就可以访问函数的内部并且所有内容都已正确分配。事实上,只要我不重新编译我的测试程序,我可以不出错地单步执行或运行任意多次。但是,如果我对我的测试程序进行更改并重新编译,行为就会回来。

我比一开始更困惑。

编辑:好的,两天后没有问题,它又出现了。我认为这不是像我之前想的那样,涉及价值观的变化。相反,这是在参数实际实例化之前发生的事情。问题是,我仍然不知道为什么,除了这是我拥有的唯一一个功能,stkchk.asm如果我F11在进入该功能后点击它。

UnitTest.exe 中 0x00789adc 的第一次机会异常:0xC0000005:访问冲突读取位置 0xabababab。是我得到的例外。在函数的前面,我进行了几乎相同的调用,只是改变了与运算符一起使用的变量。奇怪的是,调用周围的 try-catch 块并不能防止程序崩溃。

0 投票
2 回答
764 浏览

c++ - 如果没有人调用该函数,为什么我会得到第一次机会异常?

突然我的代码开始抛出一个异常First-chance exception at 0x7731c41f in VideoPlayer.exe: Microsoft C++ exception: GenICam::RuntimeException at memory location 0x0018f5dc..,我无法找到它究竟从哪里抛出,所以我在main函数中注释了所有,在main. 我开始一一取消注释代码块,同时main保留注释中的代码。在执行此操作时,我注意到有一个功能A,当它被注释时没有异常,但是当它被取消注释时,它会抛出上面的异常。

我不明白如果不调用它会如何导致异常(我在其中放置了断点并注释了 main 中的代码)?

0 投票
1 回答
1066 浏览

dll - 调用第 3 方库时,TaskHost.exe 中 ...(KERNELBASE.DLL) 的第一次机会异常

我想在我的 windows phone 项目中使用 libsamplerate 库。所以我将它的 lib 文件添加到链接器输入中。当我运行项目时,它甚至没有到达我在那里设置断点并遇到错误的本机代码入口点:

TaskHost.exe 中 0x7723277C (KERNELBASE.DLL) 处的第一次机会异常:0xE0434352(参数:0x8007007E、0x00000000、0x00000000、0x00000000、0x70BF0000)。

当我评论属于 libsamplerate 库的方法时,错误不再出现。我在网上搜索了几天没有成功的结果。

我曾尝试在 windows phone 运行时组件中使用其他 3d 方库,但总是遇到相同的错误。

windows phone 运行时组件中应该在什么情况下使用该库?我们可以在其中使用典型的库吗?