📄 news
字号:
to be run was not supplied with a pathname. * The mprof command can now display the full allocation call graph for a profiling output file. Added the --graph-file and --leaks options to the mprof command for writing out graph specification files for later visualisation with dot. * Added the ability to read the unfreed allocations table from the log file with the mleak command and also added the --ignore option. * Added the mpsym command, which makes use of a debugger to locate any missing symbolic information in an mpatrol log file if the USEDEBUG option does not work. * Added instructions on how to define a mallopt command in the shell which will set the MPATROL_OPTIONS environment variable in the current process. * Added new sections to the mpatrol manual on diagnostic messages and references to other documentation. The manual also contains example graph images illustrating the new --graph-file mprof option. * The ASCII, GNU Info, AmigaGuide and HTML versions of the mpatrol manual and the texinfo.tex file used to build the printed manuals are now provided with the main distribution. The PDF version of the manual now includes the mpatrol logo as a proper PDF image file instead of a PNG file and now includes thumbnail images as well. * Fixed the problem with margins in the PDF reference card. The printed mpatrol manual is now A4 by default. * A Makefile is now provided to build the UNIX manual pages. * Added a new definition file for the Windows thread-safe DLL. * Made the tests work on 64-bit platforms and added 2 new tests demonstrating the alloca() family of functions.Changes for 1.2.6 (18th July, 2000) * The NOFREE option now takes an argument which specifies the maximum number of freed memory allocations to preserve before returning the oldest to the free memory pool. * Fixed a regression when displaying the summary after an illegal memory access and also made the signal-handler thread-safe. * Added 64-bit support for SPARC Solaris platforms. * Added support for the -d option on DYNIX/ptx. * Added support for threads on DYNIX/ptx. * Moved the FAQ into the mpatrol manual.Changes for 1.2.5 (12th July, 2000) * Can now determine the address of an illegal memory access on LynxOS platforms. * Fixed a bug when allocations are pages and an allocation is increased in size using space from a free block. * Added a new magic file excerpt for use with the file command. * Added a new build script for building Windows ZIP distributions. * The tests are now included when building packages.Changes for 1.2.4 (29th June, 2000) * Added support for the USEMMAP option on HP/UX. * Can now determine the address of an illegal memory access on AIX and Linux platforms, and fixed a regression from 1.2.0 when detecting the location of an illegal memory access on platforms that support siginfo.Changes for 1.2.3 (27th June, 2000) * Added more robust stack traversal support for Windows platforms. * Can now determine the address of an illegal memory access on IRIX and Windows platforms and now also the address of a misaligned memory access on UNIX platforms. * Added support for the XCOFF and Windows PE object file formats and provisional support for the ELF64 object file format. * Can now read symbols from executable files and shared libraries on Windows platforms. * Added support for the USEDEBUG option on Windows platforms. * Fixed long-standing problem with USEDEBUG and the GNU BFD library. * C++ symbol names now automatically get demangled on Windows platforms.Changes for 1.2.2 (18th June, 2000) * The mpatrol library can now be built as a thread-safe library on many platforms. * Added ability to determine the program name on DG/UX M88K. * SINIX and UnixWare are now supported. * Added stack traversal support for MIPS. * Fixed problem with using libcl.sl on HP/UX. * Fixed problem with offsets of symbols read from HP/UX shared libraries.Changes for 1.2.1 (1st June, 2000) * Intel LynxOS is now supported. * Added stack traversal support for PA/RISC, RS/6000 and PowerPC. * Added ability to determine the program name on AIX, HP/UX and LynxOS. * Added a better way of determining the program name under Linux. * Symbols can now be read from HP/UX and IRIX shared libraries. * Added a Linux Software Map index file.Changes for 1.2.0 (16th May, 2000) * Added memory allocation profiling, which behaves in a similar way to mprof. * Added the PROF, PROFFILE, AUTOSAVE, SMALLBOUND, MEDIUMBOUND and LARGEBOUND options for memory allocation profiling purposes. * Added a new command for displaying tables from memory allocation profiling output files. * The -P and -p options to the mpatrol command are now called -X and -x. * The memleak tool is now called mleak. * The CHECK* options now display the calling function details even when the LOG* options are not used. * Added the ALLOWOFLOW option for allowing memory operations which overflow allocation boundaries to continue rather than being ignored. * The log file and profiling output file can now contain %p in their names which will be expanded to the name of the executable program file. * AIX and IRIX are now supported. * The recalloc() and cfree() functions now take extra arguments to be in line with the IRIX malloc library. * Added support for duplicate functions with alternative names to be defined as well as malloc(), calloc(), etc. * All replacement function definitions are now disabled in mpatrol.h if the NDEBUG preprocessor macro is defined. * Added the memccpy() function. * Fixed a bug in the reimplementation of memcmp() and bcmp() which used plain chars for comparison rather than unsigned chars. * Function call stack traversal is now more robust on UNIX systems, with the library simply stopping reading a call stack if it is corrupt rather than crashing. * Added lint support in the UNIX makefile and the ability to build a lint library for mpatrol. * Added a GDB command file for use with mpatrol. * Added a quick reference card. * Added instructions on how to build the mpatrol library as a shared library while also resolving references to any object file access libraries. Also added references to more related software. * Added an image file in ASCII art for the text versions of the mpatrol manual. * Added new tests for illustrating profiling support.Changes for 1.1.4 (10th April, 2000) * The mpatrol shell script is now rewritten in C and is now also available on AmigaOS, Windows and Netware as well. * Added a new command for detecting memory leaks in the log file. * Added a new function, __mp_printinfo(), for calling from within a debugger to determine information about a specific heap address. * Changed set_new_handler() name mangling for GNU C++. * Fixed a typing error in inter.c for Windows platforms. * Added a makefile compatible with Microsoft's nmake on Windows platforms. * The filenames of some object libraries have been changed to prevent conflicts when building the mpatrol command. * Added untested support for Parasoft Inuse. * Added new tests for freeing local and global variables and also a test to highlight problems of overwriting pointer information.Changes for 1.1.3 (26th March, 2000) * Amiga shared library support has been removed (but it didn't work before anyway). * Limited stack traversal and symbol reading is now supported on AmigaOS when using GCC. * A build script is provided for AmigaOS Aminet distributions. * malloc() and related memory allocation functions are now overridden without requiring the inclusion of mpatrol.h on Windows (and AmigaOS platforms when using GCC) as well as UNIX platforms. * Limited forms of brk() and sbrk() are now provided on certain non-UNIX platforms that do not have them. * The Windows version of mpatrol now allocates memory from the system in 64K chunks as that seems to be the minimum allocatable size on that platform. * The memory operation functions no longer initialise the mpatrol library if they are called before any memory allocation functions. * Added new tests for detecting pre-read and post-read errors.Changes for 1.1.2 (18th March, 2000) * Added a section on integration to the mpatrol manual. * Added ability to determine source level information from call if USEDEBUG is enabled, even if mpatrol.h was not included. * Internal blocks are now allocated in larger chunks which will increase the efficiency of library execution and cause less memory fragmentation. * Added a default low-memory handler for C++ operators new and new[]. * Added special name mangling for the GNU C++ operators. * Fixed a bug which occurred when allocating lots of pages using sbrk().Changes for 1.1.1 (9th March, 2000) * Added a section on threads to the mpatrol manual. * Added the USEDEBUG option for displaying filenames and line numbers in call stacks if the executable file contains debugging information. * Changed the definitions of the C++ operators so that they now include source level information. * Added the MP_NOCPLUSPLUS preprocessor macro for disabling C++ support in mpatrol.h. * The mpatrol.h header file should have less incompatibilities with the library functions that it overrides. * The prologue and epilogue functions are now only called for user allocations and not internal mpatrol allocations. * The memory operation functions now continue to function even when the mpatrol library has been terminated. * Support has been added for building a tape archive distribution. * Added a new C++ test.Changes for 1.1.0 (30th January, 2000) * Added a new file containing answers to frequently asked questions. * Added references to the memory management reference, FreshMeat and eGroups in the mpatrol manual. Also added more related software and removed the authors from the concept index and added a complete tutorial. * Changed the suffix of the ASCII documentation from .doc to .txt since it was being wrongly assumed to be a Microsoft Word document. * Object libraries are now no longer built when the all Makefile target is used. * The library now replaces the memset(), bzero(), memcpy(), memmove(), bcopy(), memcmp(), bcmp(), memchr() and memmem() functions for tracing and debugging purposes. * Added the expand() function for backwards compatibility with other C libraries. * Added the LOGMEMORY option to log all calls to memory operation functions. * Added the SAFESIGNALS option which is now no longer enabled by default. * Added a summary of bytes compared, located, copied and set when __mp_summary() is called. * Dynamic symbols are now used on GNU BFD as well as ELF when the object file has been stripped of its symbol table. * Relevant options and flags have been added for future mallopt() support. * Added new tests for the tutorial and memory operation functions.Changes for 1.0.8 (20th December, 1999) * Added the utilities and library functions sections and documented the pkg directory and how to use other libraries with mpatrol in the mpatrol manual. * Made reading the ELF dynamic linker independent of file format since Linux now uses the GNU BFD library rather than the ELF access library.Changes for 1.0.7 (29th November, 1999) * Added the overwrites and underwrites, testing, library behaviour and general errors sections and the how it works chapter to the mpatrol manual. * Added support for building PKG and RPM packages.Changes for 1.0.6 (25th November, 1999) * Removed the NOTES, INSTALL and EXAMPLES files as their contents are now entirely in the mpatrol manual. * Added the operating system support, using mpatrol, improving performance and library performance chapters to the mpatrol manual. * Added lots of software for AmigaOS to the related software section in the mpatrol manual. * Added new library performance figures. * Added the FAILFREQ and FAILSEED options. * The __mp_trap() function now does nothing so that it can be used as a breakpoint target in a debugger. * Increased the maximum size of the MPATROL_OPTIONS environment variable from 256 to 1024 bytes.Changes for 1.0.5 (16th November, 1999) * Added TeXinfo documentation which can be translated to on-line manuals in ASCII, GNU Info, AmigaGuide and HTML format, and printed manuals in DVI, Postscript and PDF format. * Added support for allocating memory from a static array rather than the system heap, which might be useful on embedded systems which have no heap.Changes for 1.0.4 (21st October, 1999) * Added the CHECK option.Changes for 1.0.3 (19th October, 1999) * Improved library performance. * Added library performance figures. * Added total number of warnings and errors to summary.Changes for 1.0.2 (15th October, 1999) * Added the USEMMAP option for UNIX platforms so that mmap() can be used instead of sbrk() to allocate heap memory on systems that support it.Changes for 1.0.1 (13th October, 1999) * A bug that appeared when the mpatrol library was statically linked on a UNIX system that defaults to dynamic linking has been fixed. * A potential problem with losing details of some free memory blocks when the library runs out of system memory has been fixed. * Added a new examples document which illustrates the features of the mpatrol library with annotated examples.Changes for 1.0.0 (11th October, 1999) * First public release.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -