TSLab
TSLab.proSupportTSLab LiveTSVerse
Eng
Eng
  • TSLab trading platform
  • For newbies
    • A beginner's guide
      • Purchasing a license key for a data provider
      • An example of connecting text quotes
      • Example of connecting a data provider to a broker / exchange
      • An example of creating a script in TSLab
      • An example of creating a trading algorithm in TSLab
  • Installing TSLab
    • TSLab Installation Guide
      • System requirements
      • TSLab Installation manual
    • Update TSLab
      • Preparing for update
      • Release build
      • Nightly build
    • Restarting the TSLab program
    • TSLab Changelog
      • TSLab 2.1 Changelog
      • TSLab 2.2 Changelog
        • 2.2.26.0 - 2024/01/31
        • 2.2.25.0 - 2024/01/17
        • 2.2.24.0 - 2024/12/04
        • 2.2.23.0 - 2024/09/19
        • 2.2.22.0 - 2024/08/30
        • 2.2.21.0 - 2024/05/17
        • 2.2.20.0 - 2024/05/15
        • 2.2.19.0 - 2024/02/21
        • 2.2.18.0 - 2024/02/09
        • 2.2.17.0 - 2023/11/16
        • 2.2.16.0 - 2023/10/20
        • 2.2.15.0 - 2023/10/13
        • 2.2.14.0 - 2023/08/11
        • 2.2.13.0 - 2023/05/12
        • 2.2.12.0 - 2023/02/28
        • 2.2.11.0 - 2022/12/15
        • 2.2.10.0 - 2022/10/27
        • 2.2.9.0 - 2022/09/16
        • 2.2.7.0 - 2022/06/23
        • 2.2.5.0 - 2022/04/29
        • 2.2.3.0 - 2022/04/01
        • 2.2.2.0 - 2021/12/29
  • Data providers
    • Cryptocurrency exchanges
      • Binance Cryptocurrency Exchange
        • Registration on Binance
          • Registration on Binance Exchange website
          • Configure Binance Wallet
          • Creating a Binance API Key for TSLab
          • Binance. Transferring USDT from wallet to wallet without commission
        • Registration on TSLab [Binance]
          • Account registration on the TSLab website [Binance]
          • Creating a free Binance Data Provider for TSLab
        • Setting up a Binance Data Provider in TSLab
        • TSLab Binance Edition
          • Starting the program
          • Configuring the Binance Data provider
      • Bitget Cryptocurrency Exchange
        • Registration on the Bitget official website
        • Creating a Free Bitget Data Provider
        • Configuring the Bitget Data Provider in TSLab
      • ByBit Cryptocurrency Exchange
        • Registration on the ByBit website
        • Creating a free ByBit data provider
        • Configuring the ByBit Data Provider in TSLab
      • Deribit Cryptocurrency Exchange
        • Deribit data provider settings
        • Deribit. Frequently asked questions and useful information
        • Deribit. Possible problems and solutions
        • Deribit Margin Requirements Calculation
        • An example of a ready-made script for Deribit
      • Kucoin Cryptocurrency Exchange
        • Registration on the KuCoin official website
        • Creating an API key on the KuCoin website
        • Issuing a free license for KuCoin Data Provider
        • Setting up the KuCoin data provider in TSLab
      • OKX Cryptocurrency Exchange
        • Setting up an OKX account
          • Registration on the OKX website
          • OKX API Key creation
          • Issuing a free license for OKX Data Provider
          • Setting up the OKX data provider in TSLab
          • OKX demo account
        • TSLab OKX Edition
          • First launch of TSLab OKEx Edition
          • Configuring the OKEx data provider
          • Trading in TSLab [OKEx]
          • OKEx Demo
    • Historical Data
      • YahooFinance
      • Offline data provider in CSV format
      • An example of connecting text quotes
      • Text files with historical data
    • Interactive Brokers
      • Getting Started with Interactive Brokers Data Provider
        • Installing and configuring the Trader Workstation (TWS) terminal
        • Installing and configuring the IB Gateway terminal
      • Features of working with Interactive Brokers data provider
      • Known issues for Interactive Brokers Data Provider
      • Loading instruments in a package
  • Working with the program
    • Main menu
      • File
        • Program Settings
      • View
        • Chart
          • Features of working with the Chart in TSLab
          • Chart Controls
        • Depth of Market
        • Quotes
        • All Trades
      • Data
        • Data Providers window
        • Add online data provider
        • Add offline data provider
      • Lab
        • Scripts window
          • Script Container
      • Trading
        • Accounts window
        • Positions window
        • My trades window
        • My orders window
          • Move orders and deals to an agent
        • Autotrading Control Center window
          • Agent window
          • Agent trading settings
            • Event recalculations
            • Slippage
          • "Forget errors" of the agent
        • Orders manager
          • Linking a manually completed order to an agent
        • Agent Control Center window
      • Tools
        • Data backup and recovery
        • Notifications manager
          • Notifications Manager Filters
          • Reference List of Service Message Numbers
          • Example of setting up notifications for Gmail
        • Export to Excel
    • Common interface
      • Status bar
      • Tab
      • Workspace
      • Spreadsheets
    • Visual editor
      • Toolbar
        • Compress and Decompress Blocks
      • List of visual blocks
        • Service Elements
        • Cycles
        • TSChannel
      • The syntax of the Formula, Boolean expression and String expression blocks.
    • Autotrading Control Center
      • Agent trade settings
        • Agent trade settings - Placing orders
        • Agent trading settings - Script execution
        • Agent trading settings - Events
    • TSLab API
      • API Introduction
        • Visual Studio Installation
        • First script (API)
        • First Indicator (API)
        • Script Debugging
        • Logging
      • Writing scripts on the API
        • Trading Instrument Data
        • Working with positions
        • List of deals
        • The order queue
        • Standard Indicators and Handlers
        • Script parameters
        • Caching
        • Local and global cache
        • Multiple Tools
      • Writing indicators on the API
        • Stream indicator
        • Bar indicator
        • Pre-processed indicator
        • Indicator with multiple calculations
      • Additional features
        • The ability to create your own optimizers *
        • C ++ / CLI script
        • API Control Panel
        • Result from script
        • * Оптимизация. Пул массивов.
      • Examples
        • Get script results
        • Get script parameters
        • Get script and agent settings
        • Get position balance (net worth)
        • An example of a strategy Breakout of the Donchian channel
        • Example of a Moving Average Crossover strategy
        • Indicator example
        • How to speed up the processing of a script on the API
        • Links to examples
      • Question - Answer
        • HandlerParameter Attribute
    • Optimization
      • Insufficient load on a multicore processor
  • Examples of scripts and indicators
    • Examples of algorithms and indicators
    • Examples of implementing strategies in TSLab
      • A trading system based on indicator CCI
      • A trading system based on Standard Deviation
      • A trading system based on Aroon
      • A trading system based on ADX and DI technical indicators
      • A trading system based on the RSI indicator
      • Example of a trading strategy without parameters
  • TSLab website
    • TSLab Support Service
      • Memory dump of TSLab application
      • TSLab program log files
Powered by GitBook
LogoLogo

Мы в соцсетях

  • Группа в Telegram
  • Новости TSLab
  • Vkontakte
  • YouTube канал TSLab Live

Наши веб-сайты

  • TSLab
  • Служба поддержки
On this page
  • Creating a memory dump
  • What a dump is for and how to make it
  • What exactly is the TSLab program code.
  • Dumping with the ProcDump program

Was this helpful?

Export as PDF
  1. TSLab website
  2. TSLab Support Service

Memory dump of TSLab application

Last updated 3 years ago

Was this helpful?

In , a core dump, memory dump, crash dump, system dump, or ABEND dump consists of the recorded state of the working of a at a specific time, generally when the program has or otherwise terminated abnormally. In practice, other key pieces of are usually dumped at the same time, including the , 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 or by the running program, after which the program is able to continue. Core dumps are often used to assist in diagnosing and errors in computer programs.

On many operating systems, a 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.

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 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. For Windows 8, 8.1, 10, or server system, click Details.

  4. If 32-bit TSLab is running on 32-bit Windows or 64-bit TSLab is running on 64-bit Windows, right-click on TSlabApp.exe and select Create Dump File from the context menu.

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

  6. 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.

What a dump is for and how to make it

What exactly is the TSLab program code.

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.

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.

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 (), 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.

The TSLab program is based on 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.

errordlg
purevirtualcall

Download procdump.zip from

procdumpsite

The program is executed until TSLabApp.exe completes, and if it finishes with an error, a dump is created.

http://www.7-zip.org/
managed code
http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx
computing
memory
computer program
crashed
program state
processor registers
computer operator
debugging
fatal exception
From Wikipedia, the free encyclopedia
along with the program log
cmdcd
procdump1