Не выполняется тред

Тема в разделе "WASM.BEGINNERS", создана пользователем Aspire, 17 фев 2008.

  1. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    В хвост к целевому приложению приаттачиваю свой экзешник, пропатчиваю приложение так, чтобы осуществлялся запуск моего экзешника из памяти. Настройка и запуск происходят в отдельном треде, паралельно работе самого приложения. Вот, только трабл весь в том, что если не поставить самый высокий приоритет этому треду, то он вообще не запускается :\ Как такое может быть? Если же поставить высокий приоритет, то сначала выполняется тред (при этом основное приложение заметно притормаживает в начале), а потом уже вся остальная программа. Хотелось бы добиться незаметности в работе, избавиться от тормозов в начале, чтобы код приаттаченого экзешника выполнялся паралельно работе основного приложения. Что посоветуете?
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    ошибка в 36-й строке
     
  3. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    MSoft
    А вот и не выложу.
    Так-как вопрос поставлен и так конкретней некуда. Если приложению прописано выполнить тред, пусть даже с самым низким приоритетом, ведь, оно его должно выполнить прежде чем завершится?
     
  4. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Скажем, ждать запуска (не завершения) треда, потом продолжить выполнение main-приложения
     
  5. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    KeSqueer
    Кому ждать? Я в функции треда, что-ли напишу "приложение, выполняйся!"?
    Сорри, не понял.
     
  6. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Aspire
    Тогда я не понял, кто и когда запускает тред.
     
  7. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Aspire
    извиняюсь за глупый вопрос, но что ты сейчас от нас хочешь? у меня создание треда всегда работало на отлично. А 36-ю строку ты все-таки проверь :)))

    Вариантов куча:
    1) тред жутко тормозит и поэтому ты просто не дожидаешься его работы
    2) касперский проверяет треды вне образа файла
    3) так совпали звезды
    4) ошибка в драйвере hands.sys
    5) ошибка в 36-й строке

    Что еще ты хочешь услышать - хз.
     
  8. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Приложение и запускает. Или вы имелли ввиду, что нужно после начала выполнения треда снизить его приоритет ниже основного приложения, чтобы оно начало выполняться?
    MSoft
    У меня такая хрень уже не первый раз. Начинаю разбираться, почему не работает та или иная "конструкция" и получается, что под отладчиком все прекрасно работает, а без отладчика - нет.
    Ага...причем настолько, что программа уже завершилась, а тред еще даже и не начинался )))
    Во-первых у него такой сигнатуры еще нет.
    Во-вторых я его снес недавно ))
    Она пустая, я проверил ))
     
  9. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Но создание Вашего побочного потока происходит из оригинального потока? А если в оригинальном потоке поставить WaitForSingleObject с INFINITE с указанием возвращенного CreateThread хэндла, то Ваш побочный поток выполнится или все приложение полностью повиснет?
    AFAIK не должно, если параллельный поток выполнит ExitProcess.
     
  10. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Из оиргинального.
    Почему повиснет? Я же говорю, что все выполняется, только немного притормаживает.
     
  11. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Aspire
    Ну может поток suspended создался. У меня не раз получалось, что счетчик suspend'ов потока взлетал до небес неизвестным образом. Вот и решил переспросить на всякий случай.
    И еще... может целевое приложение своему потоку само слишком завышеный приоритет ставит?
     
  12. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    В отладчике все ровно, а как там на самом деле, х его з.