2015-09-23 31 views
1

当我在调试OSX程序时关闭程序时,出现AccessViolation。它打破了在以下点:在System.internals.ExcUtils在OSX32中关闭程序时出现访问冲突

procedure RaiseSignalException(ExceptionEIP: LongWord; FaultAddr: LongWord; ErrorCode: LongWord); 
begin 
    raise GetExceptionObject(ExceptionEIP, FaultAddr, ErrorCode); 
end; 

释给出:

RaiseSignalException从SignalConverter调用,一旦我们做出的东西看起来像 有比我们合法的堆栈帧。现在我们将创建一个异常对象 ,并通过软件加注提升它。

我应该试着解决这个问题,因为在关闭程序时会触发acces违规,并且程序在不调试时不会挂起?

编辑: 即使未在PA服务器上进行调试,我也会收到此错误。但错误仍然相同。

+0

RaiseSignalException只是异常的最后一点。查看Call Stack以找出哪些应用程序失败的更合理的例程。 –

回答

1

是的,你应该尝试解决这个问题。即使您现在“仅”在关闭应用程序时看到了该错误,它也可能指向应用程序中更严重的问题,这些问题也可能在运行时发生。试想一下,这个错误是由于运行时的内存损坏而发生的。

提示:尝试使用启用了调试选项的FastMM4。

+0

Sebastian,我现在在我的prgram中使用FASTMM,但我需要知道Memoryleak报告的保存位置。“内存泄漏详细信息记录到与此应用程序相同的文件夹”。但我还没有找到它。这是在Mac上还是在PC上? –

+0

都是,Win和Mac。在Mac上运行时,报告将被保存到Mac上的应用程序包中。右键单击应用程序,然后单击“显示包装内容”。它将位于MyApplication.app/Contents/MacOS文件夹中。 –

+0

好的,我在user/paserver/scratchdir/user/Myaplication.app/contents/macOs /中找到了该文件夹。但我找到3个文件:-application,-application.rsm和libcgwind。 –

相关问题