Название: Падение внешней программы при использовании QProcess Отправлено: Madgeniy от Март 12, 2011, 01:03 Доброго времени суток. Вопрос заключается в следующем. Есть, например, программа которая вызывается с помощью QProcess не деаттаченная. Она падает. Падает и все приложение. Как можно этот момент отловить?
Название: Re: Падение внешней программы при использовании QProcess Отправлено: alexman от Март 12, 2011, 11:37 Программа, что запускаете из QProcess, имеет исходники? Если да то можно просто ее запустить отдельно для отладки.
Название: Re: Падение внешней программы при использовании QProcess Отправлено: Madgeniy от Апрель 06, 2011, 21:47 Нет, не имеет. У меня куча таких программ. На вход поступают одинаковые для всех программ данные. На некотором наборе некоторые программы падают. А мне нужно это отловить. Возможно на уровне WIN API можно?
Название: Re: Падение внешней программы при использовании QProcess Отправлено: Пантер от Апрель 06, 2011, 22:19 Код нужен.
Название: Re: Падение внешней программы при использовании QProcess Отправлено: voral от Апрель 06, 2011, 23:44 Нет, не имеет. У меня куча таких программ. На вход поступают одинаковые для всех программ данные. На некотором наборе некоторые программы падают. А мне нужно это отловить. Возможно на уровне WIN API можно? 1. Прежде чем запускать процесс выведите в консоль те параметры которые передаете. (Да и саму команду). Попробуйте в консоли запустить руками ту вторую программу используя выведенные в консоль команду и параметры. 2. Вы вывод запускаемого процесса както обрабатываете или просто пускаете и все? Название: Re: Падение внешней программы при использовании QProcess Отправлено: Madgeniy от Апрель 07, 2011, 12:48 Я жму картинку внешним компрессором. На некоторых картинках он падает. Например, я вызываю кодер jpeg2000. Для одной картинки он срабатывает корректно при числе уровней разрешения (параметр такой есть) одном, при таком же числе уровней разрешения для другой картинки падает, когда пытается обратно ее в исходный формат переконвертировать. Вообщем неважно. Мне нужно узнать, можно ли такое падение отловить в принципе, а не лезть в исходники самих программ.
Название: Re: Падение внешней программы при использовании QProcess Отправлено: Пантер от Апрель 07, 2011, 13:03 int QProcess::exitCode () const
Название: Re: Падение внешней программы при использовании QProcess Отправлено: Madgeniy от Апрель 07, 2011, 15:41 Тогда вопрос такой.
при QProcess.start() ошибка вылетает. приложение ждет QProcess.finished(), но не достигает его по причине вывалившейся ошибки. Как быть в этом случае? Просто по таймеру проверять? Название: Re: Падение внешней программы при использовании QProcess Отправлено: mutineer от Апрель 07, 2011, 15:44 Попробуй ловить error(QProcess::ProcessError error)
Название: Re: Падение внешней программы при использовании QProcess Отправлено: kdm от Апрель 07, 2011, 15:44 Может void stateChanged ( QProcess::ProcessState newState )?
EDIT: Пока писал, появился новый ответ. |