Memory dump of TSLab application

In computing, a core dump, memory dump, crash dump, system dump, or ABEND dump consists of the recorded state of the working memory of a computer program at a specific time, generally when the program has crashed or otherwise terminated abnormally. In practice, other key pieces of program state are usually dumped at the same time, including the processor registers, which may include the program counter and stack pointer, memory management information, and other processor and operating system flags and information. A snapshot dump (or snap dump) is a memory dump requested by the computer operator or by the running program, after which the program is able to continue. Core dumps are often used to assist in diagnosing and debugging errors in computer programs.

On many operating systems, a fatal exception in a program automatically triggers a core dump. By extension, the phrase "to dump core" has come to mean in many cases, any fatal error, regardless of whether a record of the program memory exists. The term "core dump", "memory dump", or just "dump" has also become jargon to indicate any output of a large amount of raw data for further examination or other purposes.

From Wikipedia, the free encyclopedia

Creating a memory dump

In cases when the TSLab program freezes, or one of the agents freezes, make a memory dump and send it to the support service along with the program log to determine the problem.

The dump can be done through the Windows Task Manager. The order of creation will differ, depending on the mode in which TSLab is launched and on which version of Windows it is running.

To get a process dump:

  1. Press Ctrl + Alt + Delete on your keyboard.

  2. Select Task Manager.

  3. Wait for the message about the successful creation of the file.

  4. Go to the folder with the created dump.

If 32-bit TSLab is running on 64-bit Windows, then you need to start 32-bit Task Manager.

To do this, click the Start menu button at the bottom left.

In the search box on the taskbar, type (copy) the line C:\Windows\SysWOW64\taskmgr.exe and press Enter.

The 32-bit Task Manager should start. To make sure that 32-bit Task Manager is running, go to the Processes tab and find the line with taskmgr.exe*32.

If the 64-bit Task Manager is running, the line will be taskmgr.exe.

Then select the line containing TSLabApp.exe * 32 and select Create memory dump file from the context menu. Since the size of the resulting dump file will be large, the dump needs to be compressed with some archiver. If there are no archivers on your computer (right-click on the file, select send zip in the context menu), you can use, for example, 7Zip (http://www.7-zip.org/), and upload the file to any file hosting service. Below is the algorithm for creating a memory dump when the program crashes and an alternative way to create a memory dump when the program freezes.

What a dump is for and how to make it

What exactly is the TSLab program code.

The TSLab program is based on managed code and runs under the .NET Framework. But to receive data from the broker, it interacts with the data provider code, which, in the existing variants, is executed in the form of unmanaged code or machine code. If an error occurs in the managed code, then it is intercepted inside the program and, depending on the error, either it is simply written to the log file and the program continues execution, or, in case of severe errors, a dialog is displayed and the program crashes.

In case of an error in unmanaged code, in most cases .NET Framework catches them and turns them into a managed exception, which is then caught by the program.

But with certain errors, the program simply crashes without transferring control to the program. For instance:

In this case, there is no question of any log entry. To find out the reasons, where and why the error occurred, a dump will help.

Also, a memory dump is needed in cases when the program "freezes", ie. stops responding to user’s actions. In this case, a record of the error that occurred will not be created in the program log.

But it is necessary to distinguish the program freezing from the program's slow response under load. This happens if you run multithreaded optimization on a weak computer and open many windows with fast-changing tools at the same time.

Dumping with the ProcDump program

Unfortunately, in these situations it is impossible to understand the cause of the error from the logs and even more from the screenshot. We need to dump and analyze it.

Previously, it was believed that in such cases the only option was to negotiate with the user about access to the computer, since obtaining a dump required the installation of special tools and skills to work with them, which of course cannot be offered to ordinary users.

The solution was found in the form of a relatively new, free ProcDump program created by the famous author Rusinovich.

It allows you to create a dump under certain conditions that are specified on the command line. Let's take a look at what needs to be done to get a dump in cases of program freezes and crashes.

Install the program on your computer.

Download procdump.zip from http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx

Unpack procdump.zip to some directory, for example c:\utils.

Open a Windows Command Prompt window in Administrator mode. To run with administrator rights, you must do the following:

Start - All Programs – Windows System folder. Find the shortcut to Command Prompt. Right-click on it and select Run as administrator.

From the command line, go to the folder where procdump is unpacked

The transition is carried out using the command cd

Run the procdump program. When you first start it, it displays a window with a user agreement, which must be accepted. Further, the steps for freeze cases and for crash cases are different.

The freeze case is an easier one. At the moment when the program freezes, you need to run procdump with the following parameters: C:\utils>procdump -ma TSLabApp.exe crash.dmp

This will create a crash.dmp file in the current folder.

In the case of a program crash, things are more complicated. When the error dialog appears, it's too late to do anything. At this point, the program has already crashed. It makes sense to take further actions only if such an error occurs regularly and in certain situations. For example, when exiting the program or when doing certain actions in the program.

In this case, you must first run the procdump program with the following parameters: C:\utils>procdump –e -w -ma TSLabApp.exe crash.dmp

The size of the dump varies depending on the operating conditions of the program. It compresses well, therefore, for sending it, it is better to compress it. The archive size will turn out to be at least half the size of the original file. Then attach the compressed file to a message on the support site describing the situation.

Last updated