Перейти к содержимому

Фотография

Последовательность настроек ТС (7.20) для доступа к внутренним перемен


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 tc_tester

tc_tester

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 25 августа 2010 - 16:02

Подскажите, плиз, начинающему.

Что и в какой последовательности нужно подключить и настроить в ТС 7.20 (и в приложении), чтобы иметь возможность доступа к внутренним переменным тестируемого приложения (Delphi 2007, Windows 7 /и Server 2003, 2008/). Очень желательно в виде достаточно подробного алгоритма действий, типа 1), 2)... Чтобы выполнил последовательность действий - и начало работать по минимуму.
Или ссылку, где это хорошо и доступно описано, без особо лишней информации.
По крайней мере, в свое время я старался то, что знал, по другим направлениям, давать людям для начала именно в таком виде. А по ходу уже разбираться в тонкостях.
  • 0

#2 SergeyP

SergeyP

    Специалист

  • Members
  • PipPipPipPipPip
  • 651 сообщений
  • Город:Москва

Отправлено 25 августа 2010 - 18:29

Подскажите, плиз, начинающему.

Что и в какой последовательности нужно подключить и настроить в ТС 7.20 (и в приложении), чтобы иметь возможность доступа к внутренним переменным тестируемого приложения (Delphi 2007, Windows 7 /и Server 2003, 2008/). Очень желательно в виде достаточно подробного алгоритма действий, типа 1), 2)... Чтобы выполнил последовательность действий - и начало работать по минимуму.
Или ссылку, где это хорошо и доступно описано, без особо лишней информации.
По крайней мере, в свое время я старался то, что знал, по другим направлениям, давать людям для начала именно в таком виде. А по ходу уже разбираться в тонкостях.


Вам необходимо собрать приложение, как OpenApp. Рекомендация по такой сборке Delphi-приложения приведена в Help'e TestComplete'a.

Кроме этого, в TestComplete'a - раздел Extentions д.б. включены опции, отвечающие за поддержку OpenApp для Delphi XXX, .NET, Java и т.д.
  • 0

#3 tc_tester

tc_tester

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 26 августа 2010 - 07:25

Вам необходимо собрать приложение, как OpenApp. Рекомендация по такой сборке Delphi-приложения приведена в Help'e TestComplete'a.

Кроме этого, в TestComplete'a - раздел Extentions д.б. включены опции, отвечающие за поддержку OpenApp для Delphi XXX, .NET, Java и т.д.

SergeyP, спасибо за быстрый отклик. Но меня в данном случае интересует не гулянье по Help'у, из кусков которого (а их много) начинающему надо умудриться слепить собственное понимание алгоритма (это беда построения большинства Help'ов, а не только беда начинающих мозгов :):)), а именно сам алгоритм-скелет, на который потом можно нанизывать куски Help'а для более глубокого понимания.

Кстати, насколько я читал, для ТС7 сборка OpenApp уже не нужна :)
"В TestComplete версии 7 и выше уже нет понятия "открытое приложение". Все приложения являются "открытыми" сразу и нет необходимости перекомпилировать их с дополнительными файлами (даже если значок TestComplete-а отсутствует в дереве Object Browser-а и свойство IsOpen=false). Однако для того, чтобы иметь доступ ко многим полезным свойствам и методам, необходимо перекомпилировать тестируемое приложение с включенной debug-информацией." /tctutorial.ru/
Включение debug-информации в Help'e описано в 2-х вариантах. Интересующий меня в первую очередь вариант с использованием StripTDS у меня не получился. При запуске приложения, от которого этой утилитой отделена debug-информация в tds-файл, появляется сообщение "access violation".

Потому и запрашиваю конкретный алгоритм (в каких пунктах меню и подменю какие настройки. Или хотя бы детальная последовательность ссылок на соответствующие подразделы Help'а), чтобы не путаться в тонкостях. Полагаю, что такой алгоритм ("сделай и начинай работать") пригодится многим начинающим.
  • 0

#4 SergeyP

SergeyP

    Специалист

  • Members
  • PipPipPipPipPip
  • 651 сообщений
  • Город:Москва

Отправлено 26 августа 2010 - 08:05

SergeyP, спасибо за быстрый отклик. Но меня в данном случае интересует не гулянье по Help'у, из кусков которого (а их много) начинающему надо умудриться слепить собственное понимание алгоритма (это беда построения большинства Help'ов, а не только беда начинающих мозгов :):)), а именно сам алгоритм-скелет, на который потом можно нанизывать куски Help'а для более глубокого понимания.

Кстати, насколько я читал, для ТС7 сборка OpenApp уже не нужна :)
"В TestComplete версии 7 и выше уже нет понятия "открытое приложение". Все приложения являются "открытыми" сразу и нет необходимости перекомпилировать их с дополнительными файлами (даже если значок TestComplete-а отсутствует в дереве Object Browser-а и свойство IsOpen=false). Однако для того, чтобы иметь доступ ко многим полезным свойствам и методам, необходимо перекомпилировать тестируемое приложение с включенной debug-информацией." /tctutorial.ru/
Включение debug-информации в Help'e описано в 2-х вариантах. Интересующий меня в первую очередь вариант с использованием StripTDS у меня не получился. При запуске приложения, от которого этой утилитой отделена debug-информация в tds-файл, появляется сообщение "access violation".

Потому и запрашиваю конкретный алгоритм (в каких пунктах меню и подменю какие настройки. Или хотя бы детальная последовательность ссылок на соответствующие подразделы Help'а), чтобы не путаться в тонкостях. Полагаю, что такой алгоритм ("сделай и начинай работать") пригодится многим начинающим.


Для приложений на Delphi сборку непременно надо пересобирать с включенной Debug-информацией и в "Compiler" и в "Linker".

Если я правильно понял из Вашего поста, то Вы уже нашли в Helpe нужный раздел "Delphi Open Applications \ Using Debug Info Agent With Delphi XXXX Applications"
и воспользовались подсказкой в пункте "External Debug Information (TDS Files)"

Мне приходилось тестировать приложения на Delph7. Но воспользовался рекомендацией пункта "Internal Debug Information (TD32)". При этом никаких проблем не возникало.
Но экзюк вырастал с 2 Мб до 12 Мб. Но куда деватья без отладочной информации ?

Удач !
  • 0

#5 tc_tester

tc_tester

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 26 августа 2010 - 10:37

Для приложений на Delphi сборку непременно надо пересобирать с включенной Debug-информацией и в "Compiler" и в "Linker".

Если я правильно понял из Вашего поста, то Вы уже нашли в Helpe нужный раздел "Delphi Open Applications \ Using Debug Info Agent With Delphi XXXX Applications"
и воспользовались подсказкой в пункте "External Debug Information (TDS Files)"

Мне приходилось тестировать приложения на Delph7. Но воспользовался рекомендацией пункта "Internal Debug Information (TD32)". При этом никаких проблем не возникало.
Но экзюк вырастал с 2 Мб до 12 Мб. Но куда деватья без отладочной информации ?

Удач !


Спасиб!
Я вообще-то всегда люблю нарушать любимое правило программистов "если уж совсем ничего не получается - прочитай, наконец, инструкцию" :) Поэтому на форум обратился уже после того, как почитал Help, пересобрал приложение с включенной Debug-информацией, утилитой выбрал ее из приложения в TDS-файл, этот файл и приложение разместил в одной папке. Откуда его и запускал на выполнение. С ранее описанным результатом.

Не только из-за размеров экзюка я выбрал вариант External. Но... Хотя, не исключено, что так проявляется скрытая ошибка в приложении. После стандарной сборки оно работает без проблем. По идее стандартная сборка и сборка с отделяемой потом Debug-информацией должны работать одинаково, несмотря на то, что размеры экзюков незначительно отличаются.
  • 0

#6 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 26 августа 2010 - 10:50

Потому и запрашиваю конкретный алгоритм (в каких пунктах меню и подменю какие настройки. Или хотя бы детальная последовательность ссылок на соответствующие подразделы Help'а), чтобы не путаться в тонкостях.

  • Собрать приложение с отладочной информацией. Вот ссылки на инструкции для разных версий Delphi, там все очень подробно расписано:
  • Проверить, что в TestComplete в File > Install Extensions включены плагины:
  • Open Applications
  • Delphi and C++Builder Open Application Support
  • Проверить, что в свойствах проекта > Project > Open Applications > Debug Agent включена опция Enable Debug Agent.
    Также можно включить опцию Read debug information for statically linked libraries.
(Кажется, всё.)

Интересующий меня в первую очередь вариант с использованием StripTDS у меня не получился. При запуске приложения, от которого этой утилитой отделена debug-информация в tds-файл, появляется сообщение "access violation".

Попробуйте вместо StripTDS использовать стандартную утилиту tdstrp32.exe, которая входит в состав Delphi. 
  • 0

#7 SergeyP

SergeyP

    Специалист

  • Members
  • PipPipPipPipPip
  • 651 сообщений
  • Город:Москва

Отправлено 26 августа 2010 - 11:37

А про AV, думаю, стоит написать в службу поддержки.


2 tc_tester:

AV возникает при запуске приложения из TC или самостоятельно ?
  • 0

#8 tc_tester

tc_tester

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 26 августа 2010 - 12:15

2 modbear:
В Install Extensions включено все (как до недавних пор в Турции). Enable Debug Agent тоже. Включение Read debug information for statically linked libraries не помогло.

2 tc_tester:
AV возникает при запуске приложения из TC или самостоятельно ?


И так, и так. Или влияние Win7 сказывается (приложение разрабатывалось и собиралось кодером на ХР) И некоторые баги вылезали.
Хотя в итоге все может оказаться гораздо проще. В общем, не исключаю также, что где-то лишнюю "птичку" мог поставить или нет при сборке. :)

Попробую поставить Delphi и собрать самолично.
  • 0

#9 tc_tester

tc_tester

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 26 августа 2010 - 14:40

Поставил Delphi7, скопировал исходники проекта, поставил все настройки для debugging, пересобрал с включенной Debug-информацией. Точнее попытался, но вылезли сообщения об отсутствии чего-то там из проекта. Пришел программер, там прикрутил недостающее, здесь перекомпилировал...
В итоге полученный экзюк был обработан StripTDS, после чего благополучно запустился из-под TC через TestedApps.

Все ж не исключаю, что в предыдущий раз не все настройки компайлера и линкера были выдержаны.
И еще: теперь экзюк без извлеченной из него Debug-инфы имеет точно такой же размер, как и собранный без нее изначально. По-видимому, различие этих размеров может служить косвенным признаком ошибки при сборке с включенной Debug-инфой.

Всем спасибо!
  • 0

#10 Qwertylolman

Qwertylolman

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Кузнецов Евгений Геннадиевич

Отправлено 17 сентября 2010 - 10:09

добрый день. я столкнулся с такой проблемой:
есть TC версии 7.52 и приложение на c#, .Net 3.5. плагин для OpenApp подключен (версии 5.0), но переменные все-равно отображаются как WindowsForms10.Window.8.app.0.378734a, например. есть старый демо TC версии 4.27 с плагином 4.0 который отлично с этим справляется. дополнительных настроек после установки не делал.
как сделать нормальные имена? сменить версию ТС нельзя(лицензия).
  • 0

#11 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 17 сентября 2010 - 11:09

добрый день. я столкнулся с такой проблемой:
есть TC версии 7.52 и приложение на c#, .Net 3.5. плагин для OpenApp подключен (версии 5.0), но переменные все-равно отображаются как WindowsForms10.Window.8.app.0.378734a, например. есть старый демо TC версии 4.27 с плагином 4.0 который отлично с этим справляется. дополнительных настроек после установки не делал.
как сделать нормальные имена? сменить версию ТС нельзя(лицензия).


Проблема известная, лечится патчем. См. здесь.
  • 0

#12 Qwertylolman

Qwertylolman

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Кузнецов Евгений Геннадиевич

Отправлено 17 сентября 2010 - 12:22

спасибо.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных