Публикация

Отладка конфигурации Terrasoft

Представляю вашему вниманию небольшую статью по одной из возможностей отлаживать конфигурацию Terrasoft с помощью MS Visual Studio. Информация будет полезна тем, кто не очень давно начал разрабатывать конфигурацию на платформе Terrasoft. Но, как показывает практика, также много опытных программистов не знают об этой удобной возможности.

И так, главная задача: найти скрипт выполнения определенной функции, при условии, что не знаем, где именно в конфигурации он размещен.

  • Запускаем Terrasoft: TSClient.exe
  • Переходим в нужный раздел, выбираем нужную запись в реестре... Т.е. подготавливаемся выполнить нужную функцию
  • Запускаем MS Visual Studio (дальше VS). Я обычно это делаю командой devenv в окне Run (Win+R). Замечу, что желательно использовать VS версии 2008 и выше
  • В VS в меню Tools или Debug выбираем "Attach to process…"
  • В списке процессов ищем TSClient и нажимаем Attach
  • Дальше в меню Debug выбираем "Break all"
  • Теперь в Terrasoft выполняем функцию, скрипт которой ищем
  • В результате: в VS откроется скрипт и остановится в нужном месте, как раз перед выполнением функции. А чтобы увидеть как называется сервис скрипта -- переходим в начало, где с помощью комментария указано название
  • Бывает, что после нажатия "Break all" -- мы заходим в скрипт функции выполнения таймера, которая запускается каждую минуту. В этом случае нажимайте F5, чтобы полностью выполнилась эта функция и снова нажимайте "Break all"

Вот таким простым способом можно "залезть" в конфигурацию. Это также бывает полезно, если, например, долго выполняется какой-то скрипт: присоединяемся к потоку TSClient, нажимаем "Breal all" и заходим в функцию, которую придется оптимизировать :)

Поделиться

3 комментария

Можно же в скрипте написать debugger и студия остановится в этом месте.

Константин, а если не знаешь где писать?
У меня вот бывает такое, порой :)

Александр, спасибо, очень полезная статья :) Только что возникла ситуация для применения описанного вами.

Войдите или зарегистрируйтесь, чтобы комментировать