【发布时间】:2020-11-25 04:28:50
【问题描述】:
在 .NET 2.0 下编译的应用程序在其自己的应用程序池中在 IIS 下运行时崩溃并导致应用程序池停止。事件查看器提供以下详细信息:
Application ID: /xx/xxxx/1/ROOT/my_application_name_here
Process ID: 6600
Exception: System.AccessViolationException
Message: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
StackTrace: at b(oa* , PBTransaction , Boolean )
at c(oa* , PBTransaction )
at Sybase.PowerBuilder.DB.PBSQL.Stop(IntPtr dbthis, PBTransaction transaction)
at Sybase.PowerBuilder.PBSessionBase.StopTransaction(PBTransaction trans)
at Sybase.PowerBuilder.PBTransaction.Dispose(Boolean disposing)
at Sybase.PowerBuilder.PBPowerObject.Finalize()
有问题的应用程序是内置在 Power Builder 中的 ASMX Web 服务。 堆栈跟踪没有进一步。如果我在调试诊断分析器中捕获相同的错误,它会提供以下额外的内存详细信息:
这里的潜在错误可能是什么?有什么方法可以找到有关此问题的更多信息?
编辑:我已经禁用了快速故障保护,并且应用程序池在崩溃时不会停止。但是还是想追根究底
【问题讨论】:
-
此类问题是由本机内存损坏引起的,因此转储分析通常是了解更多信息的唯一方法。如果您不熟悉必要的技能,请通过 support.microsoft.com 打开支持案例。调用堆栈似乎是 PowerBuilder 特定的,但对于本机问题,真正的罪魁祸首可能是别的东西。
标签: asp.net .net iis memory powerbuilder