Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » EventID - Программа определения причины зависания консоли

Ответить
Настройки темы
EventID - Программа определения причины зависания консоли

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


Сообщения: 4
Благодарности: 1

Профиль | Отправить PM | Цитировать


Всем доброго времени.

Нужно организовать FixBag на 173 машинах.
Ищу программу под управлением Windows, которая может постоянно отслеживать зависание конкретного консольного приложения, единожды определенного администратором и определяющая причину этой "заморозки" с возможностью ведения лога. Зависание происходит не на всех машинах и в разное время выполнения консольного приложения, нужно конкретно определить саму причину нестабильности работы программы на конкретном ПК.

Подскажите, кто чем пользуется ?
Нужно естественно леченое

Отправлено: 15:10, 16-08-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Diana_Konovalova:
Подскажите, кто чем пользуется ? »
Исходным кодом этого приложения и отладчиком.

Отправлено: 18:33, 16-08-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


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


Сообщения: 4
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата Iska:
Исходным кодом этого приложения и отладчиком. »
Полностью согласна, но автор программы утверждает, что у него таких проблем нет.
Он мог бы пофиксить эту ошибку, но дистанционно это сделать через интернет очень проблематично.
На определенных ПК (еще раз подчеркиваю не на всех) при запуске этого консольного приложения, бывает процессор сразу грузит на 100% без какой либо введенной команды, но при запуске программы в Virtual Mode (на виртуальной машине) такого зависания (на этих ПК) не происходит.
Как можно выяснить - это аппаратная или программная часть виновата ?

Последний раз редактировалось Diana_Konovalova, 17-08-2015 в 21:51.


Отправлено: 07:08, 17-08-2015 | #3


Ветеран


Сообщения: 545
Благодарности: 36

Профиль | Сайт | Отправить PM | Цитировать


Diana_Konovalova, в общих чертах что делает эта консольная программка?

-------
консольный клиент telegram для Windows: www.elapser.info


Отправлено: 12:09, 17-08-2015 | #4


Аватара для K.A.V.

Ленивый кусок мяса


Contributor


Сообщения: 1986
Благодарности: 723

Профиль | Сайт | Отправить PM | Цитировать


Цитата Diana_Konovalova:
автор программы утверждает, что у него таких проблем нет. »
Если у кого-то программа не работает должным образом - значит не было произведено качественное тестирование ПО, а т.к. причин зависаний может быть великое множество - здесь вам сможет помочь только разработчик этого продукта, добавив в свою программу логирование при работе, чтобы определить, на каком участке кода программа отрабатывает некорректно.

Цитата Diana_Konovalova:
при запуске этого консольного приложения, процессор сразу грузит на 100% »
Цитата Diana_Konovalova:
Как можно выяснить - это аппаратная или программная часть виновата ? »
Скорее программная из-за каких-то особенностей системы/железа (вообще, не зная названия программы проблематично что-то конкретное сказать), т.к. видимо, где-то программа входит в вечный цикл обработки данных (судя по загрузке проца), соответственно, где-то ошибка в коде

Со стороны пользователя проблематично найти ошибку в программе, т.к. пользователь не знает, как устроена программа и что она делает при определённых операциях

Можете, конечно, воспользоваться дебаггерами - но сомневаюсь, что без подготовки вы что-то сможете сделать

-------
[Справочник по командам Windows] -- [Справочник по NSIS] -- [SFX Creator - для создания SFX архивов]

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:50, 17-08-2015 | #5


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


Сообщения: 4
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата Опиум:
в общих чертах что делает эта консольная программка? »
Синхронизацию содержимого каталогов (одно- и двунаправленную), создание и обработку файл-листов, расфасовку информации на "порции" заданного размера и много других полезных функций...
Цитата K.A.V.:
здесь вам сможет помочь только разработчик этого продукта »
Выполнение этой программы происходит на конторских машинах со своим индивидуальным железом и возможности автору программы приехать или дистанционно запустить отладчик не имеется. Запуск внешнего профайлера более реален, но тоже сопряжён с огромными сложностями. Как можно, не прибегая к профайлеру, определить точку зависания программы?
Цитата K.A.V.:
добавив в свою программу логирование при работе »
Сегодня узнала, что по мнению автора, вариант "подробное логирование работы этой программы в файловую систему" для идентификации ошибки плохо подходит. Он объясняет это тем, что программа состоит из около 45 тысяч строк кода, а самое главное из моей практики, бывает виснет не сразу после запуска и достаточно редко.
Цитата K.A.V.:
видимо, где-то программа входит в вечный цикл обработки данных (судя по загрузке проца) »
Пробовала Process Explorer, но он очень странно работает, либо я до конца не разобралась. Если успеть "поймать" поток, вошедший в бесконечный цикл, то его стек посмотреть вполне возможно, но этот поток достаточно быстро "исчезает", либо в РЕ, то ли его действительно "убивает" среда.
Цитата K.A.V.:
Можете, конечно, воспользоваться дебаггерами »
Вариант приложения-монитора вполне приемлем. Если можно как-то создать дамп процесса или получить информацию о потоках этого процесса, то было бы совсем здорово. Если есть какой-то готовый инструмент, то будет ещё лучше ?

Отправлено: 21:50, 17-08-2015 | #6


Аватара для K.A.V.

Ленивый кусок мяса


Contributor


Сообщения: 1986
Благодарности: 723

Профиль | Сайт | Отправить PM | Цитировать


Цитата Diana_Konovalova:
Выполнение этой программы происходит на конторских машинах со своим индивидуальным железом и возможности автору программы приехать или дистанционно запустить отладчик не имеется »
При обнаружении бага в программе - автору не нужно куда-то ехать и самому что-то делать дистанционно, для решения таких проблем в программу интегрируется функция логирования, лог работы программы передаётся разработчику и он устраняет баг в программе
Что такое "профайлер"? Первый раз слышу это слово

Цитата Diana_Konovalova:
Как можно, не прибегая к профайлеру, определить точку зависания программы? »
Я вам ещё раз повторяю, если вы с первого раза что-то не поняли: никак вы не определите, на каком месте программа отрабатывает некорректно, если вы не разработчик этой программы

Цитата Diana_Konovalova:
Сегодня узнала, что по мнению автора, вариант "подробное логирование работы этой программы в файловую систему" для идентификации ошибки плохо подходит. Он объясняет это тем, что программа состоит из около 45 тысяч строк кода, а самое главное из моей практики, бывает виснет не сразу после запуска и достаточно редко. »
По мнению вашего автора - его программа идеальна (т.к. у него работает на все 100% без ошибок) и ей больше ничего не требуется, сразу видно его отношение к пользователям своей программы, а если его программа ещё и доход ему приносит с вашей организации (платное ПО?) - тогда у этого "автора" вообще совести нет
Если прога виснет не всегда - как раз логирование это самый подходящий из вариантов...Просто автору лень, вот и всё, а 45 тысяч строк - это вовсе не много

Цитата Diana_Konovalova:
Вариант приложения-монитора вполне приемлем »
От вас о самой программе 0 информации, поэтому опять же, посоветовать можно только "в слепую", ваше приложение что-то пишет в консоль вообще или нет? Если пишет - автору не составит труда перенаправить вывод информации из консоли в файл
Вы, кстати, можете это и сами сделать, допустим, создадим батник следующего содержания:
Код: Выделить весь код
myapp.exe > test.log
всё, что напишет программа myapp.exe в своей консоли - будет сохранено в текстовый файл, если ваша прога постоянно отображает информацию - может, и можно таким способом определить, где проблема

Насчет дебаггеров - при их использовании, дебаггер покажет, на каком месте прервалось исполнение программы, но, т.к. вы не автор сей проги и, думаю, не знакомы с дебаггерами - вам это не поможет, +вам этот вариант не подойдёт хотя бы потому, что как вы говорили, программа зависает не всегда

Не знаю, что тут ещё сказать, разработчик вам в помощь, пинайте его сильно сильно, втройне сильнее, если софт платный

-------
[Справочник по командам Windows] -- [Справочник по NSIS] -- [SFX Creator - для создания SFX архивов]

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:41, 18-08-2015 | #7


Аватара для Charg

Ветеран


Сообщения: 2798
Благодарности: 469

Профиль | Отправить PM | Цитировать


Цитата Diana_Konovalova:
Вариант приложения-монитора вполне приемлем. »
Очень хорошо что вас устраивает такой вариант. Есть всего одна маленькая загвоздочка - таких приложений-мониторов не существует в природе.

Как уже выше неоднократно упоминалось - такие проблемы решаются исключительно через разработчика. Как словить и починить баг - это исключительно его работа. Ваша задача, как пользователя - только описать разработчику действия которые приводят к зависанию (если таковой алгоритм имеется).

И, в общем-то, если этот самый разработчик предоставил вам свою программу as is (и допустим, уволился из вашей конторы) - вполне возможно что он не захочет её исправлять. Потому что в общем-то и не должен, это уже вопрос морали. В таких случаях помогает поиск альтернативы и\или материальный стимул.

Отправлено: 18:20, 18-08-2015 | #8


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата K.A.V.:
Что такое "профайлер"? Первый раз слышу это слово »
«Profiler»: Profiling (computer programming) - Wikipedia, the free encyclopedia. Преимущественно используется для определения «узких» мест при исполнении приложения.
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:08, 18-08-2015 | #9


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


Сообщения: 4
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата K.A.V.:
Что такое "профайлер"? Первый раз слышу это слово »
Если для отладки программы используется основной инструмент - отладчик, то для оптимизации кода желательно использовать инструмент - профайлер.
Профайлер - это определенный подвид отладчика, он запускает программу под отладкой и отслеживает, какой код будет выполнять эта программа. После работы профайлера, с точностью можно выяснить, чем была занята программа, какой код в ней дольше всего выполнялся, т.е. можно однозначно определить узкие места в производительности самого кода, а так же зафиксировать точку зависания программы в бесконечном цикле, если происходит такая ситуация. Смысл профайлера заключается в том, что вы фильтруете информацию и получаете возможность сфокусироваться на том, что хотите знать. Т.е. вы "задаете вопрос", профайлер показывает вам ответ, вы уточняете "вопрос" и так далее, пока не будет найдено проблемное место в программе.

Этот способ был предложен разработчиком программы, причем запуск профайлера на удаленной машине через интернет и как я уже говорила - это сопряжёно с огромными сложностями, в первую очередь с обеспечением безопасности передаваемой информации и специфическими особенностями работы нашей компании, поэтому этот вариант был сразу отвергнут нашим руководством.

Искренне благодарю всех, кто помогал мне решить этот вопрос.
Всего Вам доброго и не прощаюсь, Диана.

Последний раз редактировалось Diana_Konovalova, 18-08-2015 в 21:26.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:08, 18-08-2015 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » EventID - Программа определения причины зависания консоли

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Debian/Ubuntu - Программа для определения скорости вентилятора zai Общий по Linux 7 28-12-2012 12:22
Прочее - Программа для определения стабильности интернет канала Anatoliy2004 Сетевые технологии 3 02-11-2012 18:28
Разное - Основные причины зависания Ало Microsoft Windows 7 3 08-07-2010 13:45
программа для определения площади заливки Vowan Программное обеспечение Windows 1 11-04-2008 17:10
Интернет - [решено] Команда в консоли для определения состояния портов Berkyt Microsoft Windows 2000/XP 4 22-12-2007 15:30




 
Переход