Вы можете оставить заявку в службу поддержки TSlab по адресу: https://support.tslab.pro/
Вы также можете написать нам по адресу help@tslab.ru.
Пожалуйста, обрати внимание! График работы Службы поддержки TSLab: Пн-Пт с 10:00 до 19:00 (время московское). Заявки, созданные в выходные, будут обработаны в первый рабочий день после выходных.
Дамп памяти (англ. memory dump; в Unix — core dump) — содержимое рабочей памяти одного процесса, ядра или всей операционной системы. Также может включать дополнительную информацию о состоянии программы или системы, например значения регистров процессора и содержимое стека. Многие операционные системы позволяют сохранять дамп памяти для отладки программы. Как правило, дамп памяти процесса сохраняется автоматически, когда процесс завершается из-за критической ошибки (например, из-за ошибки сегментации). Дамп также можно сохранить вручную через отладчик или любую другую специальную программу.
В случаях, когда программа TSLab зависает, или зависает, например, один агент, то для определения проблемы сделайте дамп памяти и пришлите его в службу поддержки вместе с логом программы. Дамп можно сделать из диспетчера задач Windows. Порядок создания будет отличаться, в зависимости от того в каком режиме запущен TSLab и на какой версии Windows идет работа.
Чтобы получить дамп процесса:
Нажмите Ctrl+Alt+Delete на клавиатуре.
Выберите Диспетчер задач.
Для Windows 8, 8.1, 10 или серверная система нажмите Подробнее.
Если работа идет на 32-битной Windows и запущена 32-битная TSLab или на 64-битной Windows и запущена 64-битная TSLab, правой кнопкой мыши нажмите на TSlabApp.exe и из контекстного меню выбрать Create Dump File (Создать файл дампа памяти).
Дождитесь сообщения об успешном создании файла.
Перейдите в папку с созданным дампом
Если выполняется 32-битная TSLab на 64-битной Windows, то нужно запустить 32-битный Диспетчер задач.
Для этого нажать кнопку Пуск внизу слева.
В поле ввода "Найти программы и файлы" вбить (скопировать) строку C:\Windows\SysWOW64\taskmgr.exe и нажать Enter.
Должен запустится 32-битный Диспетчер задач. Чтобы убедиться что запущен 32-битный Диспетчер задач, нужно перейти на вкладку Процессы и найти строку с taskmgr.exe*32. В случае если запущен 64-битный Диспетчер задач, то строка будет taskmgr.exe.
Далее выбрать строку с TSLabApp.exe*32 и в контектном меню выбрать Создать файл дамп памяти. Так как размер полученного файла дампа будет большой, то дамп нужно запаковать каким-либо архиватором
Если на компьютере нет архиваторов(правой кнопкой мыши на файле, в контекстном меню - отправить zip), например 7Zip (http://www.7-zip.org/), и выложить на любой файлообменник, например http://disk.yandex.ru http://files.mail.ru/ Ниже приведен алгоритм создания дампа памяти при Падении программы и как альтернативный способ создания дампа памяти при зависаниях.
Программа TSLab построена на управляемом коде и выполняется под управлением .NET Framework. Но для получения данных от брокера она взаимодействует с кодом поставщика данных, который в существующих вариантах, выполнен в виде неуправляемого кода или машинного кода. Если происходит ошибка в управляемом коде, то она перехватывается внутри программы и, в зависимости от ошибки, или просто делается запись в лог-файл и продолжается выполнение программы или, для тяжелых ошибок, выводится диалог и программа аварийно завершается.
В случае ошибки в неуправляемом коде .NET Framework в большинстве случаев перехватывает и превращает их в управляемое исключение, которое потом перехватывает программа. Но при определенных ошибкахпрограмма просто аварийно завершается без передачи управления в программу. Например:
В этом случае ни о какой записи в лог и речи не идет. Для выяснения причин где и из-за чего произошла ошибка поможет дамп.
Также дамп памяти необхоим в случае, когда программа “зависает”, т.е. перестает реагировать на действия пользователя. При этом в логе программы не будет создана запись о возникшей ошибке.
Но здесь надо отличать зависание программы от замедленной реакции программы под нагрузкой. Такое поведение например получается, когда на слабом компьютере запустить многопоточную оптимизацию и одновременно открыть много окон с быстроменяющимися инструментами.
К сожалению по логам и тем более по скриншоту в данных ситуациях невозможно понять причину ошибки. Нужно делать дамп и анализировать его. Раньше, считали, что в таких случаях единственный вариант, это договариваться с пользователем о доступе на компьютер, т.к. получение дампа требовало установки специальных инструментов и умения работать с ними, что конечно нельзя предлагать обычным пользователям.
Решение нашлось в виде относительно новой, бесплатной программы ProcDump от известного автора Русиновича. Она позволяет создавать дамп при определенных условиях, которые задаются в командной строке. Разберем, что необходимо сделать для получения дампа, в случаях зависания и краха программы.
Предварительно установит на компьютер программу. Скачать procdump.zip с http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx
Распакуйте procdump.zip в какой-либо каталог, например c:\utils.
Откройте окно командную строку Windows в режиме Администратора. Для запуска с правами администратора, необходимо сделать следующее: Пуск — Все программы — Служебные. Найдите ярлык Командная строка. Нажмите на нем правую клавишу мыши и выбирите Запуск от имени администратора.
С командной строки перейти в папку где распакован procdump Переход осуществляется с помощью команды cd
Запустить программу procdump. При первом запуске она выводит окно с пользовательским соглашением, которое надо принять. Далее, шаги для случая зависания и краха отличаются.
Случай зависания, это более простой случай. В момент когда программа зависла надо запустить procdump со следующими параметрами: C:\utils>procdump -ma TSLabApp.exe crash.dmp После этого в текущей папке создастся файл crash.dmp.
В случае с крахом (падением) программы все обстоит сложнее. В тот момент, когда появился диалог об ошибке, уже поздно что-то делать. В этот момент программа уже аварийно завершилась. Дальнейшие действия имеет смысл предпринимать, только если подобная ошибка проявляется регулярно и в определенных ситуациях. Например, при выходе из программы или при определенных действиях в программе. В этом случае перед этим нужно запустить программу procdump со следующими параметрами: C:\utils>procdump -e -w -64 -ma TSLabApp.exe crash.dmp
Размер дампа варьируется от условий работы программы. Он хорошо сжимается, поэтому, для пересылки его лучше запаковать, размер архива получится по крайней мере в два раза меньше исходного файла, и вложить его в сообщение на сайте поддержки с описанием ситуации.
Программа, запускающая процесс, если произошла ошибка.
Restart on Crash — небольшая портативная бесплатная утилита, предназначенная для автоматического перезапуска сбойных и зависших процессов. Находясь в активном состоянии, она отслеживает статус добавленных в её список приложений и перезагружает их, если по какой-то причине они перестают отвечать или завершаются некорректно.
Распакуйте , нажмите кнопку «Add» и выберите в открывшемся окне нажатием кнопки «Select a running application» процесс TSLabApp, или другой процесс который необходимо отслеживать. Также вы можете нажать «Select a file», если TSLab не запущена и выбрать исполняемый файл из папки.
В этом же окошке можно задать настройки мониторинга, например, указать Restart on Crash, при выполнении каких условий проблемный процесс должен быть перезапущен: когда он не отвечает или когда он падает. Можно задать время повторной проверки отклика зависшего процесса, а также уточнить действие, которое должно будет выполняться после падения. Доступны принудительное завершение процесса (если окно закрыто, а сам процесс еще висит), закрытие всех не отвечающих процессов и выполнение определенную команды.
Программа выполняется до тех пор, пока не завершится выполнение TSLabApp.exe, и в случае если она завершится с ошибкой, то создастся дамп.
Ведение протокола (протоколирование) — хронологическая запись с различной (настраиваемой) степенью детализации сведений о происходящих в системе событиях (ошибки, предупреждения, сообщения), обычно в файл. В абсолютном большинстве современных программ используются текстовые файлы протоколов (одно событие — одна строка), они легко генерируются программой и анализируются человеком.
Исследование содержимого файла регистрации ошибок после возникновения неполадок часто позволяет понять их причины.
Файл регистрации (протокол, журнал, лог; англ. log) — файл с записями о событиях в хронологическом порядке, простейшее средство обеспечения журналирования. Различают регистрацию внешних событий и протоколирование работы самой программы — источника записей (хотя часто всё записывается в единый файл).
Во время работы программы TSLab выполняется запись служебной информации в текстовый файл на Вашем компьютере. Данный текстовый файл необходимо предоставить сотрудникам Службы поддержки TSLab, в случае возникновения ошибок в работе программы для их локализации и устранения.
Из программы Вы можете перейти в директорию с Лог файлами выбрав пункт Главного меню Инструменты - Папка с логами.
Если программа не запускается, вы можете перейти в папку с логами: C:\Users\USER\AppData\Local\TSLab\TSLab 2.2\Logs где USER - имя пользователя Windows.
Лог-файлы launcher - лог-файлы запуска и обновления программы. Как правило, могут понадобиться службе поддержки в том случае, если программа не запускается или возникли проблемы с обновлением.
Лог-файлы launcher.logYYYYMMDD - лог файлы запуска и обновления программы предыдущих дней.
Лог-файл tslab.log - это лог-файл текущего дня.
В случае, если программа была запущена первый раз за день, создается новый лог-файл tslab.log.
Если программа работает в круглосуточном режиме, то каждый день, в 00:00 автоматически создается новый файл tslab.log.
Лог-файлы tslabYYYYMMDD.log - лог файлы предыдущих дней.
После наступления 00:00 часов следующего дня, либо после запуска программы на следующий день, расширению лог-файла tslab.log автоматически добавляется цифровое обозначение даты создания этого лог-файла. Логирование производится в течении 7 дней. Файлы старше 7 дней автоматически удаляются.
Вы обратились в Службу поддержки с просьбой помочь разобраться, что происходило с позицией, которая была открыта в понедельник 14.09.2020, а сегодня, 17.09.2020г. (Четверг), был пропущен выход из позиции.
В данном случае Вам необходимо направить в службу поддержки следующие файлы:
tslab.log - лог-файл за текущий день (17.09.2020)
tslab20200914 - лог-файл за день, когда была открыта позиция
tslab20200915 - день, когда позиция была открыта
tslab20200916 - день, когда позиция была открыта
Службе поддержки необходимы все лог-файлы, созданные за время существования позиции.
Обратите внимание! Иногда лог-файлы содержат большой объем текстовой информации внутри себя. В данном случае рекомендуем перед отправкой файлов в службу поддержки выполнить их архивацию
Логирование программы напрямую не настраивается. Но, если на диске мало место, эти файлы можно удалять вручную. Если программа работает, удалить лог-файл текущего дня (tslab.log) будет невозможно.
Для дальнейшего экономия места, в торговых настройках агентов, можно отключить логирование, настройка Не уведомлять пересчет, однако имейте в виду, что при возникновении вопросов, служба поддержки ничего не сможет сказать по Агенту, с выключенным логированием.
Уровень логирования нельзя регулировать из программы TSLab.
В случае крайней необходимости вы можете вручную внести изменения в файле конфигурации TSLabApp.exe.config, расположенном в корневом каталоге программы. В файле TSLabApp.exe.config исправьте строку: <level value="ALL" /> на <level value="INFO" />