问题标签 [unhandled-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 回答
145 浏览

c++ - 我的代码的原因是什么?未处理的异常

调试源:http ://www.cppblog.com/Files/mymsdn/cvector-bug-vs2008-201007101651.zip

大家好,我已经修复了我的代码,谢谢你的帮助!您可以下载我的代码的正确版本。

src:http ://www.cppblog.com/Files/mymsdn/cvector-vs2008-20100710.rar

我正在尝试编写向量的 C 语言版本。我使用void ** apRoot 表示指针向量。我想保持 void ** p 可用,而不是 malloc 内存。

像这样 :cvector_ptr_ptr = &cvector_ptr;

我将 传递cvector_ptr_ptr给每个函数来处理它。

在我的代码中,我遇到了一个未处理的异常。我想我已经阅读了溢出。但在函数"insert"中,我可以使用(*cvector_ptr_ptr)->element_size来获取大小值。我将 传递cvector_ptr_ptr"insert_copy"我不能使用相同的代码[(*cvector_ptr_ptr)->element_size]来获取值的函数。

我怎么了?

0 投票
1 回答
780 浏览

c# - 空引用异常未处理 C#

0 投票
3 回答
22066 浏览

c++ - 来自未处理异常的 C++ 堆栈跟踪?

这个问题之前已经被问过,并且有特定于 windows 的答案,但没有令人满意的 gcc 答案。我可以用来设置一个函数,当抛出未处理的异常时set_terminate()将调用(代替)。terminate()我知道如何使用回溯库从程序中的给定点生成堆栈跟踪。但是,当调用我的终止替换时,这将无济于事,因为此时堆栈已被展开。

然而,如果我只是允许程序abort()运行,它将产生一个核心转储,其中包含从引发异常的点开始的完整堆栈信息。所以信息就在那里——但是有没有一种程序化的方式来获取它,例如它可以被记录,而不是必须检查一个核心文件?

0 投票
2 回答
279 浏览

c# - 所有异常的Application.ThreadException?不只是没有被困住的人吗?

我正在尝试为一些实时数据捕获软件的调试版本创建一个顶级异常捕获,并且想知道是否有一个类似于 Application.ThreadException 的顶级异常处理程序来捕获所有异常,而不仅仅是未处理/捕获那些。

提前致谢

0 投票
0 回答
540 浏览

c# - 如何从 C++ dll 调用我的 C# 代码?访问冲突

背景:

不会很快被重写的大型 C++ MFC 应用程序。几年前,我需要添加功能并决定使用 C# 和 .NET 构建它会更容易,因此我需要一种使用 C++ 应用程序调用 .NET 函数的方法。当时我们在 MFC 应用程序中使用 VC6.0,我们使用 VS.NET 2003 和 .NET 1.1 构建了 .NET 功能。在 VS.NET 2003 中,我们构建了一个常规的 win32 dll(无 MFC),其中包含 MFC 应用程序可以使用的导出函数。dll 函数引用了我们的 .NET 程序集,一切都很好。现在,我们的 MFC 应用程序仍然是 MFC 应用程序,但它是用 VS9 编译的,它仍然可以与旧的 2003 编译的 dll 一起正常工作。然而,我们现在面临着创建一个新的 DLL(新特性),并且正在使用 VS9 和 .NET 3.5 构建它。

问题:

我已经使用 /clr 选项创建了新的 DLL。我在 .NET 程序集中有一个选项表单,我试图从导出的 dll 函数中调用它。

我收到一条未处理的异常消息,如下所示:

IP2000.exe 中 0x04359108 处未处理的异常:0xC0000005:访问冲突读取位置 0x00000000

它不喜欢的代码如下所示:

语法已更改。我们曾经使用*andnew而不是^and gcnew,但是旧的语法无法编译(不确定这是否是个问题)。

我已经测试了通过放置一个直接的 win32 来调用导出的函数并调用::MessageBox它。我还尝试从导出的​​函数中调用一些不同的托管代码,即。System::Windows::Forms::MessageBox->Show... ,它也工作得很好。它只是不想运行此表单。

在我看来,VS 2003 和 VS9 之间一定发生了一些变化,这让我有些悲伤,但我似乎看不出它是什么。如果从测试 Windows.Forms 应用程序调用此表单,则可以正常工作。

0 投票
2 回答
1623 浏览

.net - DispatcherUnhandledException 和 AppDomain.UnhandledException 何时不足(WPF 应用程序)?

我已经连接了这两个,但偶尔我的应用程序仍然崩溃并且只是抛出 Windows“发生异常”对话框。当我单击确定时,该应用程序就退出了。在什么情况下,这两个处理程序(在 WPF 应用程序中)不会捕获异常?

我应该提到我正在做一堆 COM 互操作,所以这总是值得怀疑的 :-)

0 投票
3 回答
145 浏览

c++ - 在 Visual Studio 2010 中实施安装项目后使用 new 时未处理异常

我有我的小客户端应用程序 - 启动时 - 通过“新”在堆上创建一些用户定义的对象

这没问题,直到昨天一切都运行良好。

我想部署我的应用程序并决定使用 Visual Studio 2010 中的“安装项目”。http://msdn.microsoft.com/en-us/library/dd293568.aspx

但是几分钟前,当我尝试运行程序时(昨天部署后我没有做任何更改),它抛出了一个未处理的异常

CLient.exe 中 0x55b259da (msvcr100d.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0xccccccc0。

而且我无法想象,为什么...我已经从解决方案中删除了安装项目,但这并没有改变任何东西...如果安装项目对项目设置进行了一些更改,我不知道在哪里和什么...

有没有人熟悉这个或可以帮助?

谢谢你。

编辑:当我通过visual studio调试应用程序时会发生这种情况......而不是在我部署它的另一台计算机上!

0 投票
1 回答
2585 浏览

vb.net - 获取索引超出范围异常可能是代码中的问题所在

在“AssnCtrlpkey”处引发异常

0 投票
2 回答
543 浏览

.net - 应用程序全局错误记录器

在处理异常处理不佳的 vb.net 应用程序时。这是一个很大的痛苦。所以一个想法闪过,如果有可能生成一个库或服务或某种 exe,它将记录应用程序的所有错误,而无需在主机应用程序的某个全局位置编写一行代码/最少的代码。我知道这听起来有点疯狂,但 Windows 事件记录器也是如此。所以我也是这么想的。让我让我更清楚。假设我有一个应用程序 abc.exe,没有一次尝试捕获。我在使用该应用程序时面临很多错误。现在,我不想深入研究应用程序源代码,而是想编写另一个应用程序,该应用程序将运行并记录该应用程序的所有未处理异常,包括托管和 com。

所以请大师们帮助我。我知道 ApplicationDomain 很有用。我在 MSDN 博客上遇到了一个叫 Rick 的人或类似的东西,但我没有再抓到了。因此,一些简单的源代码或部分代码会有所帮助。请在您的答案中添加一些示例代码。

这将是一个很大的帮助。

概括

我想要一个将自己注入到任何应用程序中的应用程序,其中放置了 Injector 的程序集。也就是说,如果我有一个应用程序 D:\xyz\myapp\abc.exe ,如果说我将应用程序作为 exe ,那么如果将它放在 myapp 文件夹中,然后在执行 abc.exe 之后,我的错误记录器应用程序将开始工作并将自身注入当前的应用程序域。如果我将它创建为服务,还告诉我它是否会成为多线程。

0 投票
1 回答
830 浏览

c#-4.0 - 发布版本中未捕获的异常(WinForm 桌面应用程序、C#、VS 2010)

我开发了一个桌面应用程序,它几乎完成了,但仍然包含一些我正在消除的错误。

我在我的应用程序周围使用了一个通用的 [try...catch] 块

我的 Program 类构造函数是:

以确保任何未处理的异常都会在堆栈中一直冒泡,并且至少会以一些可通信的消息框进行响应。

当我在 Visual Studio(调试模式)下运行应用程序时它工作正常,但是当我将它部署并安装在我的 PC 上时,它没有 - 这就是我得到的错误(顺便说一下,我已经确定) ) 导致它从一个空数组中读取

替代文字

为什么?这真的让我很困惑。为什么它“未处理”?我的理解是,无论是发布模式还是调试模式,try...catch都应该工作,否则有什么意义。