Сейчас на форуме: asfa, bartolomeo (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Защита процесса от вылета
Посл.ответ Сообщение

Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 23 июля 2012 20:03 · Поправил: TryAga1n
· Личное сообщение · #1

Здравствуйте. Есть небольшая проблемка.
Есть процесс А(игра в оконном режиме), он вылетает при запуске процесса Б(полноэкранное приложение), лмбо при переключении виртуальных рабочих столов. Если запущенно несколько процессов А(допустим 3), то вылететь могут первые 2 или 1 экземпляр.
Если же запустить процесс Б, а затем процесс A - все работает, но если развернуть и свернуть несколько раз полноэкранное приложение, то процесс А опять чудесным образом вылетает.
Кто-нибудь может посоветовать, как защититься от таких вылетов? Сначала я думал что дело в банальной нехватке оперативной памяти, но оказалось что это не так...как найти, в чем причина я тоже не знаю




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 23 июля 2012 20:06
· Личное сообщение · #2

Либо тыкать пальцем в небо, авось и придут мысли. Либо сидеть и долго отлаживать. Ну ещё можно пожаловаться в саппорт, пусть они отлаживают.
И да, что топик делал в софте, непонятно.



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 23 июля 2012 20:11 · Поправил: TryAga1n
· Личное сообщение · #3

Archer, может подскажешь с чего начать отладку? Я думаю для тебя это будет просто, ведь это "Вопрос для новичков"




Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 23 июля 2012 20:19
· Личное сообщение · #4

TryAga1n пишет:
Archer, может подскажешь как выполнить отладку?

Предположу, что с помощью отладчика. Запускаем процесс под отладчиком, добиваемся вылета, вываливаемся в отладчике, ищем причину приведшую к вылету.

-----
Следуй за белым кроликом




Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 23 июля 2012 20:20 · Поправил: TryAga1n
· Личное сообщение · #5

И что ты с уже вылетившим процессом под отладчиком узнаешь? Макимум - посмотреть в call stack

Уже второй петросян отмалчивается. По существу может кто-нибудь отписаться? Так сказать "задать верное направление". Мне подумалось, что нужно что-то сродни защите отладчика от детекта...



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 23 июля 2012 21:02
· Личное сообщение · #6

TryAga1n пишет:
И что ты с уже вылетившим процессом под отладчиком узнаешь?

Тот, кто знает - все может сделать. А судя по вашим вопросам - вам в запросы. Тут вопросы новичков, но не детский сад. Для начала перечитайте ПРАВИЛА!




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 23 июля 2012 21:05
· Личное сообщение · #7

С вылетевшим процессом узнаешь, где вылетел. Сравнивай с работающим процессом и разбирайся, почему он не вылетает. Ходи по процедурам, разбирайся, что они делают. И почему неправильно работают при граничных условиях. Обычная классическая отладка, когда программа работает неправильно. Чего ты ещё тут ожидал услышать, сразу адреса и описания ошибок, что ли?
З.Ы. Защита отладчика от детекта тут вообще никаким боком.




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 23 июля 2012 21:09 · Поправил: -=AkaBOSS=-
· Личное сообщение · #8

TryAga1n
Да тебе уже два человека сказали - дебаггер в руки и копай
Или ты думаешь, что на основе тех данных, что ты дал, можно расписать тебе подробный алгоритм действий? Ты даже не написал, как происходит вылет процесса - через эксепшен или просто молча завершается.

TryAga1n пишет:
И что ты с уже вылетившим процессом под отладчиком узнаешь?

Почему сразу "с вылетевшим"? Дебаггер выкинет тебя на то место, где происходит исключение, приводящее к краху. Тебе останется только проанализировать условия

| Сообщение посчитали полезным: TLN
 eXeL@B —› Вопросы новичков —› Защита процесса от вылета
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати