Related Products: BVMS, application crash, memory dump
This article lists the scenarios in which technical support normally request dump file from a BVMS system. It contains general guidelines how to create a dump file for BVMS system and provides links to more concrete articles, that correspond to particular issues and exact steps to create a dump.
BVMS dumps are needed to troubleshoot the following types of issues:
- Application crashes – dump is expected to provide more information about the cause of the crash and its origin.
- Memory or handle leaks – dump is expected to point to their origins
- Deadlocks, freezes and hangs – dump is expected to point to their origins
Recommended tool to create BVMS dumps.
The recommended tool is Procdump. It is a command line tool which must be started from the command shell. Development provides couple of .bat files that start Procdump with predefined parameters and cover the most common dump creation cases. The tool as well as the set of .bat files are attached to this article: BVMS_DumpTools_V2.zip
The batch file names follow a naming guideline: <Executable>_<Dump use case> , where <Executable> is one of:
- ConfigClient
- ConfigWizard
- OperatorClient
- ManagementServer
- ArchivePlayer
- ExceptionTest
and <Dump use case> is one of
- SingleDump
- TwoDumps
- DumpOnException
- DumpOnHang
- ActivatePostmortemDebugging
There are 3 possible error scenarios and corresponding dump creation methods:
Dump creation for reproducible crashes that trigger Windows Error Reporting
- Run the affected application/service (Operator Client, Configuration Client or Management Server Service)
- Reproduce the steps that lead to the crash
- Leave the Windows crash dialog open
- Run the corresponding batch file for creating a single dump: *_SingleDump.bat. E.g. run OperatorClient_SingleDump.bat to create a single dump of the Operator Client process.
- Provide support with
- the resulting .dmp file
- a description of the steps to reproduce the problem
- ConfigCollection
Note: attached you can find a configured example for this scenario and application Operator Client - BVMS_OC_dump_onException.zip
Dump creation for reproducible memory or handle leaks
- Run the affected application/service (Operator Client, Configuration Client or Management Server Service)
- Run the corresponding batch file for creating two dumps: *_TwoDumps.bat. E.g. run OperatorClient_TwoDumps.bat to create two dumps of the Operator Client process.
- Note that by default, the delay between the two dumps is set to one hour (3600 seconds).
- Depending on the magnitude of the memory leak, you might want to increase/decrease the delay. To do that, edit file *_TwoDumps.bat: replace value "3600" by a value that fits your needs e.g. a value of "7200" will create two dumps with a delay of two hours.
- Reproduce the steps that lead to the memory leak. Wait until the second dump was created.
- Provide support with
- the resulting two .dmp files
- a description of the steps to reproduce the memory leak
- a ConfigCollection
Dump creation for crashes/hangs/freezes that are hard to reproduce
- Deactivate the restarting option for Operator Client / Configuration Client:
To deactivate the restarting option for Operator Client / Configuration Client: edit ..\Bosch\VMS\bin\ConfigClient.exe.config or ..\Bosch\VMS\bin\OperatorClient.exe.config.
- Navigate to section <appSettings>
- add a new entry <add key = "DisableExceptionHandling" value="TRUE" />.
- Run ActivatePostmortemDebugging.bat
Run the affected application/service (Operator Client, Configuration Client or Management Server Service)
As soon as the issue appears, check whether the dump was created.
Provide support with
the resulting .dmp file
description of the steps to reproduce the crash
ConfigCollection
Note: attached you can find a configured example for this scenario and application Operator Client - BVMS_OC_dump_Just-In-Time-Debuger.zip