Search code examples
delphidelphi-xe7delphi-ide

Why does Delphi XE7 IDE hangs and fails on out of memory exception?


I'm using Delphi XE7 IDE and it quite frequently hangs, starts to consume many system resources and fails on exceptions like:

  • system out of memory --> ([dcc32 Fatal Error] F2046 Out of memory)
  • external exceptions
  • [MSBuild Error] The "DependencyCheck" task failed unexpectedly. System.Runtime.InteropServices.COMException (0x8000FFFF): Out of memory at Borland.Build.Tasks.Common.IBDSHostObject.GetFileTime(String filename) at Borland.Build.Tasks.Shared.DependencyCheck.DoGetFileTime(String filename) at Borland.Build.Tasks.Shared.DependencyCheck.GetFileNameTime(String filename) at Borland.Build.Tasks.Shared.DependencyCheck.Execute() at Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult)

What is the reason for third exception?

What can I do to make it stable ?


Solution

  • See Quality embarcadero

    The fequently 'out of memory' in XE7 problem. Some solution to decrease 'out of memory'

    1. Add DDevExtensions and IDEFixPack

      DDevExtensions Options --> Compilations --> Check 'Release compiler unit cache of other projects before compiling'

    2. Use the external MSBuild addresses Here is how:

      Project | Options | Delphi Compiler, set Use MSBuild externally to compile

      Project | Options | Delphi Compiler | Compiling | Debugging, set Use debug .dcus to False

      Project | Options | Delphi Compiler | Linking, set Include remote debug symbols to True

    3. renaming Delphi's c:\Program Files (x86)\Embarcadero\Studio\15.0\bin\Borland.Studio.Delphi.DLL, the IDE will remain stable much longer and you are able to get some work done!! Note the IDE will give you an error when starting up about this DLL being missing. This appears to prevent a lot of the needless churning and burning the IDE was doing that was consuming memory and machine cycles

    4. try starting the IDE with the -noparser option... "BDS.EXE -noparser" this will switch the parser off for the structure pane