2015-09-23 30 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。 –

相關問題