131 lines
6.6 KiB
ObjectPascal
131 lines
6.6 KiB
ObjectPascal
{
|
|
|
|
Fast Memory Manager: Messages
|
|
|
|
English translation by Pierre le Riche.
|
|
|
|
}
|
|
|
|
unit FastMM4Messages;
|
|
|
|
interface
|
|
|
|
{$Include FastMM4Options.inc}
|
|
|
|
const
|
|
{The name of the debug info support DLL}
|
|
FullDebugModeLibraryName = 'FastMM_FullDebugMode.dll';
|
|
{Event log strings}
|
|
LogFileExtension = '_MemoryManager_EventLog.txt'#0;
|
|
CRLF = #13#10;
|
|
EventSeparator = '--------------------------------';
|
|
{Class name messages}
|
|
UnknownClassNameMsg = 'Unknown';
|
|
{Stack trace Message}
|
|
CurrentStackTraceMsg = #13#10#13#10'The current stack trace leading to this error (return addresses): ';
|
|
{Memory dump message}
|
|
MemoryDumpMsg = #13#10#13#10'Current memory dump of 256 bytes starting at pointer address ';
|
|
{Block Error Messages}
|
|
BlockScanLogHeader = 'Allocated block logged by LogAllocatedBlocksToFile. The size is: ';
|
|
ErrorMsgHeader = 'FastMM has detected an error during a ';
|
|
GetMemMsg = 'GetMem';
|
|
FreeMemMsg = 'FreeMem';
|
|
ReallocMemMsg = 'ReallocMem';
|
|
BlockCheckMsg = 'free block scan';
|
|
OperationMsg = ' operation. ';
|
|
BlockHeaderCorruptedMsg = 'The block header has been corrupted. ';
|
|
BlockFooterCorruptedMsg = 'The block footer has been corrupted. ';
|
|
FreeModifiedErrorMsg = 'FastMM detected that a block has been modified after being freed. ';
|
|
DoubleFreeErrorMsg = 'An attempt has been made to free/reallocate an unallocated block.';
|
|
PreviousBlockSizeMsg = #13#10#13#10'The previous block size was: ';
|
|
CurrentBlockSizeMsg = #13#10#13#10'The block size is: ';
|
|
StackTraceAtPrevAllocMsg = #13#10#13#10'Stack trace of when this block was previously allocated (return addresses):';
|
|
StackTraceAtAllocMsg = #13#10#13#10'Stack trace of when this block was allocated (return addresses):';
|
|
PreviousObjectClassMsg = #13#10#13#10'The block was previously used for an object of class: ';
|
|
CurrentObjectClassMsg = #13#10#13#10'The block is currently used for an object of class: ';
|
|
PreviousAllocationGroupMsg = #13#10#13#10'The allocation group was: ';
|
|
PreviousAllocationNumberMsg = #13#10#13#10'The allocation number was: ';
|
|
CurrentAllocationGroupMsg = #13#10#13#10'The allocation group is: ';
|
|
CurrentAllocationNumberMsg = #13#10#13#10'The allocation number is: ';
|
|
StackTraceAtFreeMsg = #13#10#13#10'Stack trace of when the block was previously freed (return addresses):';
|
|
BlockErrorMsgTitle = 'Memory Error Detected';
|
|
VirtualMethodErrorHeader = 'FastMM has detected an attempt to call a virtual method on a freed object. An access violation will now be raised in order to abort the current operation.';
|
|
InterfaceErrorHeader = 'FastMM has detected an attempt to use an interface of a freed object. An access violation will now be raised in order to abort the current operation.';
|
|
BlockHeaderCorruptedNoHistoryMsg = ' Unfortunately the block header has been corrupted so no history is available.';
|
|
FreedObjectClassMsg = #13#10#13#10'Freed object class: ';
|
|
VirtualMethodName = #13#10#13#10'Virtual method: ';
|
|
VirtualMethodOffset = 'Offset +';
|
|
VirtualMethodAddress = #13#10#13#10'Virtual method address: ';
|
|
StackTraceAtObjectAllocMsg = #13#10#13#10'Stack trace of when the object was allocated (return addresses):';
|
|
StackTraceAtObjectFreeMsg = #13#10#13#10'Stack trace of when the object was subsequently freed (return addresses):';
|
|
{Installation Messages}
|
|
AlreadyInstalledMsg = 'FastMM4 is already installed.';
|
|
AlreadyInstalledTitle = 'Already installed.';
|
|
OtherMMInstalledMsg = 'FastMM4 cannot be installed since another third party memory '
|
|
+ 'manager has already installed itself.'#13#10'If you want to use FastMM4, '
|
|
+ 'please make sure that FastMM4.pas is the very first unit in the "uses"'
|
|
+ #13#10'section of your project''s .dpr file.';
|
|
OtherMMInstalledTitle = 'Cannot install FastMM4 - Another memory manager is already installed';
|
|
MemoryAllocatedMsg = 'FastMM4 cannot install since memory has already been '
|
|
+ 'allocated through the default memory manager.'#13#10'FastMM4.pas MUST '
|
|
+ 'be the first unit in your project''s .dpr file, otherwise memory may '
|
|
+ 'be allocated'#13#10'through the default memory manager before FastMM4 '
|
|
+ 'gains control. '#13#10#13#10'If you are using an exception trapper '
|
|
+ 'like MadExcept (or any tool that modifies the unit initialization '
|
|
+ 'order),'#13#10'go into its configuration page and ensure that the '
|
|
+ 'FastMM4.pas unit is initialized before any other unit.';
|
|
MemoryAllocatedTitle = 'Cannot install FastMM4 - Memory has already been allocated';
|
|
{Leak checking messages}
|
|
LeakLogHeader = 'A memory block has been leaked. The size is: ';
|
|
LeakMessageHeader = 'This application has leaked memory. ';
|
|
SmallLeakDetail = 'The small block leaks are'
|
|
{$ifdef HideExpectedLeaksRegisteredByPointer}
|
|
+ ' (excluding expected leaks registered by pointer)'
|
|
{$endif}
|
|
+ ':'#13#10;
|
|
LargeLeakDetail = 'The sizes of leaked medium and large blocks are'
|
|
{$ifdef HideExpectedLeaksRegisteredByPointer}
|
|
+ ' (excluding expected leaks registered by pointer)'
|
|
{$endif}
|
|
+ ': ';
|
|
BytesMessage = ' bytes: ';
|
|
AnsiStringBlockMessage = 'AnsiString';
|
|
UnicodeStringBlockMessage = 'UnicodeString';
|
|
LeakMessageFooter = #13#10
|
|
{$ifndef HideMemoryLeakHintMessage}
|
|
+ #13#10'Note: '
|
|
{$ifdef RequireIDEPresenceForLeakReporting}
|
|
+ 'This memory leak check is only performed if Delphi is currently running on the same computer. '
|
|
{$endif}
|
|
{$ifdef FullDebugMode}
|
|
{$ifdef LogMemoryLeakDetailToFile}
|
|
+ 'Memory leak detail is logged to a text file in the same folder as this application. '
|
|
{$else}
|
|
+ 'Enable the "LogMemoryLeakDetailToFile" to obtain a log file containing detail on memory leaks. '
|
|
{$endif}
|
|
{$else}
|
|
+ 'To obtain a log file containing detail on memory leaks, enable the "FullDebugMode" and "LogMemoryLeakDetailToFile" conditional defines. '
|
|
{$endif}
|
|
+ 'To disable this memory leak check, undefine "EnableMemoryLeakReporting".'#13#10
|
|
{$endif}
|
|
+ #0;
|
|
LeakMessageTitle = 'Memory Leak Detected';
|
|
{$ifdef UseOutputDebugString}
|
|
FastMMInstallMsg = 'FastMM has been installed.';
|
|
FastMMInstallSharedMsg = 'Sharing an existing instance of FastMM.';
|
|
FastMMUninstallMsg = 'FastMM has been uninstalled.';
|
|
FastMMUninstallSharedMsg = 'Stopped sharing an existing instance of FastMM.';
|
|
{$endif}
|
|
{$ifdef DetectMMOperationsAfterUninstall}
|
|
InvalidOperationTitle = 'MM Operation after uninstall.';
|
|
InvalidGetMemMsg = 'FastMM has detected a GetMem call after FastMM was uninstalled.';
|
|
InvalidFreeMemMsg = 'FastMM has detected a FreeMem call after FastMM was uninstalled.';
|
|
InvalidReallocMemMsg = 'FastMM has detected a ReallocMem call after FastMM was uninstalled.';
|
|
InvalidAllocMemMsg = 'FastMM has detected an AllocMem call after FastMM was uninstalled.';
|
|
{$endif}
|
|
|
|
implementation
|
|
|
|
end.
|
|
|