Releases: microsoft/SmartDump
SmartDump v1.13
New feature:
Support new argument:
-exit Dettach and exit a SmartDump instance with pid specified with -p .
This is useful in situations that Ctrl-C or Ctrl-Break doesn't work. Another way is to create a config.ini file in the same path of SmartDump.exe. Create a [Runtime] section and set Exit = 1, i.e:
[Runtime]
Exit=1
This way works well in more specific cases like Kudu console.
Bug fix in this build:
Fixed a regression bug of identifying exception types for .Net core caused by new added .Net 6 support.
SmartDump v1.12
Support for .Net 6.0 has been added in this release.
SmartDump v1.10
Resolved a compatibility issue that dump generation based on process snapshot doesn't work after recent Azure Function upgrade(.net core 3.x version, not the newer v4.0 for .net 6). WinDbg may indicate opened dump file is a corrupt one prior to this build.
Bug fix in this build:
- Fixed a bug of buffer length while reading exception message.
- Improved code logic to resolve function names when verbose mode is on.
- Resolved a new discovered problem to read exception types in 64bit version.
SmartDump v1.09
New feature:
This build is pretty much a big milestone: now -v option can real-time display manage callstack when a .net exception is thrown. Moreover using function name as filter to capture memory dump is supported in this build.
(NOTE: this feature is only available on 32bit version currently and hasn't been added into 64bit version.
SmartDump v1.08
New feature:
Added -v option to display verbose output to list frames of managed callstack. Then we can utilize addresses from its output to set breakpoint with -a option. For example, a code entry address of a function can be used to dump its corresponding interested call:
SmartDump.exe -p 4567 -n 20 -v
The frame output indicates the entry code address of the first managed call that threw the exception is 0x00007ffd`551f0eb0.
So we use address: 00007ffd`551f0eb0 as breakpoint to capture dump with -a option:
As we can see, 00007ffd`551f0eb0 is just the entry address of function: System.Data.SqlClient.SqlConnection.OnError
SmartDump v1.07
SmartDump v1.06
New feature:
Added -mn option to support capture mini dumps. For example, the following command captures 3 mini dump files for each of the 3 specified exception types: InvalidOperationException, SqlException and ServiceOperationsProviderException .
SmartDump.exe -p 3328 -n 40 -de 3 -mn -f "InvalidOperationException|SqlException|ServiceOperationsProviderException"
SmartDump v1.05
This is the first official release which is no longer a beta version.
Bug fix in this build:
- Fixed a major problem that output within Kudu console doesn't get refreshed immediately. Now it's possible to real-time monitor exceptions in Kudu just like running inside an on-promise command line:
- Fixed a bug that sometimes an exception message is recognized as exception type by mistake.
- Further improved accuracy of capturing managed exceptions.
- Fixed a bug in 32bit version that same exception object gets captured for multiple times.
SmartDump v1.04 beta
Bug fix in this build:
- Fixed a bug that exception object's namespace may not be properly retrieved in 32bit version.
- Added support for pressing Ctrl+Break to detach from a process but this still doesn't work inside Kudu console ( just like Ctrl+C ).
- Code optimization .
SmartDump v1.03 beta
New feature:
- Added -de option support. In this 'Dump for each' mode, dumps will be captured for each of different exception types. Exception types already captured will be skipped until all exception types specified in filter strings have been captured - start another round.
Example:
In the following sample, SmartDump with -de switch will capture 3 dumps for SqlException, InvalidOperationException and ServiceOperationsProviderException one by one.
Bug fix in this build:
- Fixed a problem that some specific exception types defined in System.dll cannot be properly recognized in 64bit version.







