问题标签 [access-violation]

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 投票
3 回答
1910 浏览

asp.net - IIS 7、ASP.NET:AccessViolationException

IIS 7 下的 ASP.NET 应用程序出现以下异常的原因是什么?这是一个未处理的异常,会重新启动整个应用程序。

异常: System.AccessViolationException

消息:试图读取或写入受保护的内存。这通常表明其他内存已损坏。

堆栈跟踪:

[更新]

系统: Windows Web Server 2008 64 位。

应用程序详细信息:不使用页面架构的 ASP.NET 应用程序。它使用自定义 http 同步和异步处理程序处理请求。还有来自 ThreadPool 或由 Thread 类创建的并行线程正在运行。

0 投票
5 回答
11929 浏览

c - 为什么这段代码修改字符串不起作用?

使用 c 风格的字符串,如何将 char 分配给字符指针指向的内存地址?例如,在下面的示例中,我想将 num 更改为“123456”,因此我尝试将 p 设置为 '0' 所在的数字,并尝试用 '4' 覆盖它。谢谢。

0 投票
4 回答
10551 浏览

exception - 在 C++ Builder 中处理访问冲突异常?

我正在尝试做:

我虽然这应该捕获访问冲突异常并通过显示错误消息来处理它。

但由于某种原因,我变得简单

访问冲突

消息而不是完整的

模块 YYY 中的访问违规 XXX。写入地址 ZZZ。

顺便说一句,ExceptObject()由于某种奇怪的原因,例程返回 NULL。

我在这里想念什么?

0 投票
7 回答
8812 浏览

c++ - 捕获 dll 异常后访问冲突

我必须在运行时动态地将模块加载为 dll,因为它们事先并不知道,只是它们符合类接口。我注意到的是,在我捕获 dll 抛出的异常(在主线程的主程序中)之后,调用了正确的析构函数并销毁了模块并卸载了 dll,但随后作为 catch 块末尾的 } Visual Studio C++ 调试器在逐行执行时到达,我得到另一个异常,它使程序崩溃

xxxxx.exe 中 0x68ad2377 (msvcr90d.dll) 的第一次机会异常:0xC0000005:访问冲突读取位置 0x02958f14。

如果我启用异常中断,则在第二个异常上中断将位置显示为

msvcr90d.dll!__DestructExceptionObject(EHExceptionRecord * pExcept=0x0017ee4c, unsigned char fThrowNotAllowed=0) 第 1803 行 + 0xf 字节

但看起来帧堆栈可能已损坏。我不知道为什么会抛出这个异常。

我的代码结构的简化版本如下:

一个非常简化的程序结构:

0 投票
3 回答
2137 浏览

delphi - 为什么我在 Indy Sockets 9 IdTcpServer ServerExecute 中出现 AccessViolation?

第一个问题:

以下例程是 Indy 9 IdTcpServer.OnExecute 例程的正确实现吗?

第二个(实际上更重要的)问题:

现在偶尔会出现访问冲突(从地址 000000 读取)。显然在这条线上:

但检查 AContext / Connection / InputBuffer / IOHandler = nil BEFORE 是否为假。调用之后(以及引发异常之后),IOHandler 为 nil。

我们正在使用 RAD Studio / Delphi 2007。

0 投票
2 回答
3495 浏览

delphi - Delphi:TImage.Create 导致访问冲突

我提前为一个新手问题道歉,但为什么我会在下面的代码中出现“访问冲突”错误(在“Create(SelectorForm);”行)?我尝试使用主窗体作为所有者,但没有任何区别。

0 投票
1 回答
779 浏览

c# - 嵌入式 firefox/xulrunner 导致 AccessViolationException

我已经成功地将 firefox/xulrunner 嵌入到我们的 c# 应用程序中,但它并非没有问题。偶尔会抛出一个 AccessViolationException,我认为这是由 GC 在内存中移动托管对象和非托管 xpcom 在移动后尝试使用它引起的。例如,我为自定义协议创建了一个协议处理程序,该协议实现了一些 firefox/xulrunner 调用的接口。在这样做之后,AccessViolationException 变得更加占主导地位。我将 GCHandle.Alloc(object, GCHandleType.Pinned) 作为一种可能的解决方案进行了研究,但找不到足够的信息来说明如何编写自定义编组器以使我的类实现了“blittable”接口。那么有没有人对如何处理这个问题或如何将我的课程翻译成“blittable”课程有任何想法?此外,几乎不可能追踪互操作的哪些部分导致了 AccessViolationException。呃:-(

感谢您的任何见解!

0 投票
1 回答
4575 浏览

.net - 确定 System.AccessViolationException 的原因

我们从本机代码中抛出了不确定的 System.AccessViolationException。很难重现它,但有时它会发生。我不确定我是否可以“调试它”,因为访问冲突所需的时间约为 2 小时,并且无法保证会发生访问冲突。

本机库由托管包装器使用。它通过 JNI 从 java 使用,并通过 IKVM 的 JNI 从 .NET 使用。该问题仅在从 IKVM 的代码中重现,但数据集不同,无法使用 IKVM 应用程序使用的数据测试 java 应用程序。

我有所有东西的来源,但是(如果可能的话)我想避免进行大量更改。

我相信本机调用堆栈将提供有关此访问冲突原因的足够信息。

是否有任何有效的方法来确定这种访问违规的原因?

我认为对我来说理想的解决方案是对代码或流程环境进行一些更改,因此如果发生这种访问冲突,它会因内存转储而崩溃,因此我可以进行更改并等待。

0 投票
7 回答
6044 浏览

memory - 发布模式下的 AccessViolationException (C++)

当我从 Visual C++ 以发布模式运行我的应用程序时,出现以下异常。

未处理的异常:System.AccessViolationException:试图读取或写入受保护的内存。这通常表明其他内存已损坏。在 _cexit() 在 .LanguageSupport._UninitializeDefaultDomain(Void * cookie) 在 .LanguageSupport.UninitializeDefaultDomain() 在 .LanguageSupport.DomainUnload(对象源,Eve ntArgs 参数) 在 .ModuleUninitializer.SingletonDomainUnload(Objec t 源,EventArgs 参数)

这不会在调试模式下发生。最初,我在家用计算机上看到了这个异常,但在工作计算机上却没有。当我继续在我的工作计算机上开发时,我最终碰到了它。

另外,我发现当我添加三个 const std::string 变量时,抛出了异常。如果我删除然后一切顺利。

另一条信息:我发现在发布模式下关闭所有编译器优化会使异常消失

一些可疑的事情正在发生。关于如何追踪这一点的任何想法?

谢谢你的帮助,乔

0 投票
3 回答
2967 浏览

c++ - 字符串太长时出现 AccessViolationException (C++)

几天前我问了一个类似的问题,但我正在寻找更多的见解。当我向我的程序中添加一个字符串时,我得到了一个 AccessViolationException:

该程序在顶层有一堆 const std::string:

如果我将最后一个字符串替换为:

然后异常消失。这只是额外的内存(来自字符串)碰到了我程序中其他地方引起的一些坏内存吗?还是与字符串有关的异常?

谢谢你的帮助,