Home Products Contracting Purchase About Contact
Home Products Contracting Purchase About Blog Contact

Previous Versions

Version Date x86 Download x64 Download 21/12/2021 MemPro x64 12/11/2021 MemPro x64 17/08/2021 MemPro x64 26/06/2020 MemPro x64 18/05/2020 MemPro x64 31/01/2020 MemPro x64 20/12/2019 MemPro x64 19/11/2019 MemPro x64 19/10/2019 MemPro x64 28/08/2019 MemPro x64 02/04/2019 MemPro x64 30/08/2018 MemPro x64 16/08/2018 MemPro x64 05/07/2018 MemPro x64 04/07/2018 MemPro x64 20/04/2018 MemPro x86 MemPro x64 06/06/2016 MemPro x86 MemPro x64 22/05/2016 MemPro x86 MemPro x64 05/05/2016 MemPro x86 MemPro x64 30/11/2015 MemPro x86 MemPro x64 25/06/2015 MemPro x86 MemPro x64 09/05/2015 MemPro x86 MemPro x64 26/03/2015 MemPro x86 MemPro x64 4/10/2014 MemPro x86 MemPro x64 19/08/2014 MemPro x86 MemPro x64 10/07/2014 MemPro x86 MemPro x64 05/06/2014 MemPro x86 MemPro x64 29/04/2014 MemPro x86 MemPro x64 17/03/2014 MemPro x86 MemPro x64 04/02/2014 MemPro x86 MemPro x64 18/11/2013 MemPro x86 MemPro x64 18/11/2013 MemPro x86 MemPro x64 17/10/2013 MemPro x86 MemPro x64 20/08/2013 MemPro x86 MemPro x64 17/08/2013 MemPro x86 MemPro x64 25/06/2013 MemPro x86 MemPro x64 26/04/2013 MemPro x86 MemPro x64 26/04/2013 MemPro x86 MemPro x64 02/04/2013 MemPro x86 MemPro x64 02/04/2013 MemPro x86 MemPro x64

Version changes

-added return email to feedback form
-menu items now enabled and disabled appropriately
-renamed snapshot buttons to Allocation and Memory snapshots to make it clearer what they do
-renamed Rewind View to History View
-made History view work with with 64 bit pointers
-added progress bar to history view
-fixed bug with the allocation displayed while moving forwards and backwards through allocations.
-fixed bug where incorrect allocations would be displayed in the history list
-fixed potential hang gathering alocation history
-fixed MemProLib for systems with different struct padding. It would cause a hang when connecting on some platforms
-fixed bug for allocation pointers large enough to set the top bit. They are now displayed correctly
-fixed compile error in MemProLib for unix based platforms

-new async File system - speed up reading and writing of large files
-free demo now lasts 15 days

-Page View now supported on subtracted snapshots
-renamed Memory View to Page View
-Page View now automatically shows first allocation when starting up
-Fixed snapshot lines not always displaying correctly in graph view
-improved graph view y-axis auto-scaling
-improved Page View info messages and fixed GUI issues when window is resized
-renamed graph righ click menu 'Take Snapshot' to 'Take Allocation Snapshot' to make it clear the snapshot will only contain allocations
-fixed Graph View menu item not working after graph view is closed
-moved graph settings to Tools and Settings menus
-fixed historic snapshot times not always being accurate and containing the current snapshot page data
-removed spurious warning about bad packet type when disconnecting
-fixed crash docking form to main panel
-fixed dock target controls sometimes not appearing

-Fixed bug in Leak View where it would sometimes report negative values and false positives
-Improved Leak View GUI layout

-Fixed bug in Leak View where it would sometimes report negative values and false positives
-Improved Leak View GUI layout

-linking MemProLib as a dll (MemProDll.dll) for profiling apps with multiple dlls
-significantly reduced MemPro Memory usage for long profiles
-fixed MemPro registration when behind proxy web server
-fixed crash bug is Windows text scaling is applied
-moved MemProLib source files to src directory
-made installer remember install paths
-fixed connection bugs (connect and disconnect very quickly)
-improved MemProLib connection error reporting
-improved registration process
-fixed 'two snapshots bug' when disconnecting
-fixed softlock if can't copy mempro_dump file
-fixed bug taking historic snapshots. It would sometimes get the wrong results
-fixed memory going missing if callstack couldn't be generated
-added support to MemProLib for overriding new/delete on OSX
-allow multiple instances of MemPro to be run at once
-added progress bar for connection
-MemPro sample working on Linux and OSX
-MemProLib fixes for Linux and OSX
-fixed problems with disconnecting and then re-connecting to the same app
-improved crash reporting

-Bug fixes
-Fixed crash in source code view
-fixed reading of alloc file. Fixes rewind memory view
-sample app now compiles on Unix
-fixed rewind address text box sizes
-overriding of malloc/free in MemProLib

-New Installer
-Pre-built MemProLib libraries for all platforms
-Renamed installed directories: MemProLib => src, MemProCpp => combined_src
-Installer adds paths to INCLUDE and LIB environment variables
-Fixed potential crash in CallTreeView
-Help chm now contains FAQ
-Updated Setup help page
-Fixed installing on XP
-Installer now gives option to install source code to a different directory
-Unix and OSX projects for MemProLib

-Support for profiling applications on Unix based systems and GCC

-Improved MemProLib shutdown so that it won't miss global state teardown frees (this would occasionally happen if the socket had not flushed its state in time)
-made time and graph update every second rather than waiting until allocations arrive
-save and restore MemPro main window size and position on startup
-Launch dialog automatically strips quotes from exe string

-Improvements to Leak View
-collapse/expand leak callstacks
-improved the way that suspect leaks are evaluated using graph gradient.
-re-organised and improved GUI
-clear distinction between unreferenced allocations and suspect leaks
-fixed memory value units updating
-removed callstack limit for leak stats
-callstack graph limit now changeable in settings, and default to 500 instead of 25.
-removed gradient check-box because it doesn't make sense to have it disabled
-Leak View now shows all allocations that are still alive after app exit as leaks
-units setting now saved between runs
-updated Leak View help page and chm
-fixed exclusion filter. Deleting filter had no effect.
-Double clicking on callstack opens file
-Bug fix: Leak View would show incorrect results when re-connecting and creating a new session.

-Fixed potential compile error including winsock2.h
-Added feedback form
-Changed free trial to be 2 days
-Minor modification made on 08/07/2013 (version number not updated)
-improved message when registration fails due to network issues
-fixed crash if user cancels UAC when registering
-Close HttpWebRequest response. Leaking responses could have resulted in connection failures
-write connection failed exception to internal log file

-user guide documentation
-integrated documentation into MemPro GUI
-fixed crash in call tree view when refreshing groupings
-fixed snapshot view window names
-handle out of memory situation in MemPro x86
-disable launch and connect settings buttons while connected
-fixed crash resizing memory contents panel to less than one column wide
-show warning message no Memory View if snapshot didn't successfully get page data
-Log warning to output window if not recording allocations from the start of the app
-added connection timeout. MemPro will now wait for a connection which mens that all allocations from the app start can be tracked using the launch button
-fixed rare race condition that means that sometimes an unexpected packet would be received and the connection terminated
-Log warning if pagedata not received for a snapshot
-fixed rewind view crash
-fixed problem with copying pdbs to temp storage which would cause symbols to sometimes not display
-clear out old pdb files from temp storage

-added site license support
-added allocation sizes graph
-Leak View
-Full Snapshots of entire memory state. Used for tracking down unreferenced (leaked) allocations.
-when opening snapshot view, if snapshot view already open show exisitng view
-show warning message box if failed to load any symbols
-optimisation of CallTree view generation
-added % columns to function and types views
-fixed bug with graph not refreshing when resizing
-added memory contents view to Memory view (for full snapshots)
-updated ReadMe.txt
-fixed bugs in rewind view
-added VS2008 solution for MemProLib and sample
-optimised sorting of large data sets
-fixed a few minor issues with Dock Manager
-optimisations to HDataGrid
-removed all 'using namespace' and unnamed namespaces from MemProLib to avoid clashes
-fixed MemProLib shutdown hang when not connected
-progress bar for saving
-optimised callstack filtering
-fix loading of 64bit .mempro files
-MemProLib: fallback to old system of getting module base address if enumerate modules fails.

-highlight current row in calltree view
-show message box if already up-to-date when manually checking for update
-updated combined MemProLib cpp/hpp files
-fixed crash reading mempro files

-renamed virtual view to Memory View
-fixed hang in Memory View when free page range is very large in 64bit apps. Now shows break lines on big ranges.
-fixed VMem view. Profiling x64t apps from x86 MemPro (and vice-versa) wasn't working
-fixed re-loading of symbols after symbol paths updated

29/03/20131.1.0.0 - First commercial version!
-MemPro now shuts down cleanly
-fixed occasional hang when disconnecting and creating a snapshot
-lots of debug logging
-output log window
-x3 speedup of loading and saving
-speedup of MemProLib IsPow2 function - was quite a bottleneck
-10 day free trial and registration process, basic version, pro version, security etc
-app now sends info on all loaded modules
-symbol path automatically detected, no need to enter path to pdb on connect
-can now set symbol paths to help it out
-can now profile apps with multiple dlls
-signature checking on pdb files to check that they match the executable
-fixed shutdown leaks in MemPro
-ask user if they want to embed the allocs and pdb files into the save file and calculate sizes
-incremented MemProLib version number
-MemProLib threads are now named correctly
-added a delay before MemProLib tries to connect to avoid problems starting winsock during global initialisation
-track all allocations before connected in a temporary buffer, then send then when connected. This means that all allocations are always tracked
-made MemProLib shutdown after all other global objects, at least as far as I can. This means that MemPro can be used to check that apps shutdown correctly and don't leak memory
-GUI improvements
-remember window layout
-improved Virtual mem view
-fixed potential crash when auto-update pops up
-fixed types view, now recognises types with spaces in (eg unsigned unt)
-fixed bugs in HDataGrid
-fixed bugs in Docker
-fixed many more bugs - far too many to list here

22/03/2013Beta 1.0.14
-Fixed crash on startup if previous version of MemPro hadn't been installed (introduced in version
-extended beta to 29th March
-fixed crash if demo time exceeded

16/03/2013Beta 1.0.13
-Extended Beta to the 24th March

26/02/2013Beta 1.0.12 - Bug fixes
-Automatic updates
-Error message if the pdb file doesn't exist
-logging and asserts in release

24/12/2012Beta 1.0.11 - Bug fixes
-Fixed crash when taking snapshot using right-click graph context menu
-New feature: Right-click and drag in graph to automatically create snapshot diff

12/12/2012Beta 1.0.10 - Bug fixes, mostly in profiling 64it apps
-fixed page view. Would not show all pages for 64bit apps
-fixed page usage stat for profiling 64bit apps
-Fixed history view. Wouldn't find any allocs when profiling 64bit apps
-fixed save/load of mempro files in mempro64
-fixed potential crash in callstack view showing the source file (if symbols don't match could get an invalid line number)
-added new stack walker that uses RtlVirtualUnwind. Enable in MemPro.cpp by defining USE_RTLVIRTUALUNWIND
-fixed infinite loop walking virtual pages in MemProLib on 64bit platform.
-fixed compiler warning in RingBuffer on 64bit platform

11/12/2012Beta 1.0.9 - Bug fixes
-re-targetted to v100 DIA - to match the one that is actually installed by the installer! Fixes the DIA error when connecting.
-fixed crash opening graph settings before graph view is open
-fixed re-loading of pdb files. Pdb would always fail to copy to temp storage after first connection
-fixed potential namespace issue on ::bind function in MemProLib

25/11/2012Beta 1.0.8 - MemPro 64bit
-64bit version of MemPro
-now uses .net 4.0
-new installer

31/07/2012Beta 1.07 - VMem view and XP support, fixes to History view
-VMem stats view
-Windows XP compatibility
-Registering of DIA message box and website page
-Updated Beta cut-off date
-Fixed crash in callstack view for PC's with one processor
-Fixed compile error in MemPro when not using unicode (changed LPCWSTR to LPCTSTR)
-Fixed crash when app sends empty callstack
-Support for mempro dump files bigger than 2GB
-Fixes to History view
-Fixed rare crash bug in graph view

05/06/2012Beta 1.06 - Callstack view optimisation, allocs dump file, connection bug fix
-Callstack view optimisation. Big optimisation on hdatagrid for very large datasets
-writing out allocs dump file from MemProLib instead of connecting to MemPro
-bugfix: connecting to an app that didn't have wait_for_connect set would occasionally fail due to a race condition
-fixed callstack filtering
-improved error reporting if symbols fail to load
-bugfix: crash when disconnecting at same time as a remote snapshot has been triggered by the app
-bugfix: crash when reconnecting to same app
-bugfix: clicking away from editing an hdatagrid cell would result in the new value submitted to the wrong cell

26/05/2012Beta 1.05 - Callstack Grouping, Take snapshots anywhere on graph. Lots of bug fixes.
-Removed MemProLib dependency on Dbghelp.lib
-Link to Ws2_32.lib from code using pragma
-datagrid improvements
-improved feedback on open file failure
-improved feedback on connection fails
-callstack grouping
-bugfix: reading mempro file would fail if already in session
-taking snapshots at any point on the graph
-triggering a snapshot from the app being profiled
-improved diff snapshots dialog
-progress bar for reading mempro files
-fixed divide by zero in callstack view if no data was collected
-decreased graph update interval
-added ENABLE_MEMPRO define so that MemPro can easily be disabled when not needed
-removed PCH from MemProLib
-added MEMPRO_TRACK_ALLOC and MEMPRO_TRACK_FREE for easy tracking of allocs. Define out when mempro is disabled
-changed to secure version of memcpy
-use LARGEADDRESSAWARE link flag so that the 32bit app can now use 3Gb
-HDatagrid fixes
-auto-expand, expand/collapse recursive in callstack view context menu
-added secondary port that is used if the primary port fails
-added 'recent files' menu item
-added 'save as' menu item
-moved session settings into preferences dialog
-lots more minor bug fixes and usability improvements

01/05/2012Beta 1.04 - General bug fixes and optimisations, including fixing new issues introduced in Beta 1.03
-fixed refresh bug with callstack view when scrolling
-fixed callstack view showing incorrect totals when filtering callstacks
-fixed crash saving before a session has started
-fixed column sorting
-fixed mouse wheel scrolling in datagrid
-highlight entire row in callstack view
-optimised callstack view refresh when resizing
-fixed horz scroll bar obscuring last datagrid row

29/04/2012Beta 1.03 - Load/save fix, source code view, horizontal scrolling, bug fixes
-fixed loading and saving of .prof files
-horizontal scrolling of callstack datagrid columns
-ctrl-C copy from datagrid
-no longer locks pdb file
-right click on callstack row to expand/collapse all (or shift click)
-fixed graph bug when re-starting a session
-fixed crash clicking on History button before session started
-fixed bug where opting not to save the current session would mean the new session would not start
-symbol files and alloc files are now packed into .prof files so that they are totally self contained (alloc file is optional)
-Improved error reporting on read/write failure
-general datagrid improvements
-improvements to datagrid scrolling and page up/down
-Docker fixes for MDI child windows
-Now uses VMem allocator to boost performance

29/03/2012Beta 1.02 - Allocation type view, and minor bug fixes.
-removed inclusive column from callstack view
-made it sort by size by default
-fixed bug in graph view where scrolling would stick to mouse
-right click in graph view for context menu
-selecting of snapshots in graph view
-tidy-up of mainform layout
-snapshot progress bar
-show snapshot name in snapshot info view
-Types view for showing classes
-fixed Docker resizing issues
-fixed HDatagrid bug if the string edit box loses focus
-symbols now resolved when view opens (speeds up snapshots)
-fixed compile warning about sign mismatch in MemProLib
-made MemProLib work with dlls
-MemProLib now outputs more debug info on failure to connect
-fixed benign disconnect warning output
-added setup instructions comment to MemPro.h
-fixed graph bug when loading in a .allocs file
-progress bar when reading in .allocs file

14/01/2012Beta 1.01 - Minor bug fixes
-Fixed a few Docker bugs, windows getting activated incorrectly, a few problems with maximised MDI tabs, and closing windows.
-Installer now removes previous version
-Fixed a few bugs in HDataGrid, select box when scrolling, crash drag selecting invalid cells, cells not updating correctly when clicking when scrolled, minor cell refresh problems.
-Debug output "Waiting for connection to MemPro" in MemProLib

29/10/2011Beta 1.0
-MemPro Beta 1.0 Release