Сейчас на форуме: _MBK_ (+5 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› CreateTread |
Посл.ответ | Сообщение |
|
Создано: 14 октября 2010 20:36 · Поправил: gena-m · Личное сообщение · #1 Имеем такие параметры этой функции: Code:
насколько я понимаю поток должен начать выполняться сразу после создания, но поток создается приостановленным. Почему? ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше ![]() |
|
Создано: 14 октября 2010 22:53 · Личное сообщение · #2 |
|
Создано: 15 октября 2010 06:00 · Личное сообщение · #3 |
|
Создано: 15 октября 2010 07:48 · Поправил: gena-m · Личное сообщение · #4 Coderess Не особо наглядно потому что прот (PROTECTiON iD) сбрасывает железные бряки и простые палит не только в программе но и на начале функций поэтому пришлось поставить бряк на третью строку CreateThread, поэтому такая наглядность, из за обфускации в самой проге тоже смысла нет код приводить там ничего не видно, поэтому взял из стека после начала выполнения CreateThread. Clerk SaferiReplaceProcessThreadTokens - она по моему только в семерке нужна, но возможно ошибаюсь. Получается что поток и должен создаваться приостановленным? А когда он должен запускаться в таком случае или этот поток вообще создан для галочки и выполняться не будет, такой вариат возможен из за того что здесь напихано довольно много всего просто для запутывания? Нотификация Csrss - где можно что либо почитать, что то ничего не нашел. ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше ![]() |
|
Создано: 15 октября 2010 10:45 · Личное сообщение · #5 Чего-то не то... У функции 6 параметров, а в стеке показано 5. HANDLE WINAPI CreateThread( __in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes, __in SIZE_T dwStackSize, __in LPTHREAD_START_ROUTINE lpStartAddress, __in_opt LPVOID lpParameter, __in DWORD dwCreationFlags, __out_opt LPDWORD lpThreadId ); стек нового потока??? ----- 127.0.0.1, sweet 127.0.0.1 ![]() |
|
Создано: 15 октября 2010 12:38 · Поправил: gena-m · Личное сообщение · #6 OKOB Все расписал как сказали- все 6 параметров. То что, что то не то, и я подозреваю, а вот что? Поток создается, но приостановленный, хотя по идее должен выполняться сразу после создания. Когда я выхожу из CreateThread без отладчика, затем аттачусь у меня вообще другая картина получается: Code:
Получается три потока и все нормально выполняются. Видимо гдето создание еще одного потока я пропускаю, буду искать. ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше ![]() |
|
Создано: 15 октября 2010 16:46 · Личное сообщение · #7 |
|
Создано: 15 октября 2010 19:03 · Поправил: gena-m · Личное сообщение · #8 Code:
Я незнаю почему, но шаманством (вначале циклю на нескольких адресах потом аттачусь) я попадаю на стартовый адрес потока и он уже запущен: Code:
До этого никаких проблем с трассировкой потоков небыло, первый раз столкнулся с тем, что после выхода из CreateThread я не могу брякнутся по стартовому адресу созданного нового потока. При этом первый (первичный) у меня зациклен и остановлен сразу после выхода из CreateThread: Code:
----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше ![]() |
|
Создано: 16 октября 2010 17:18 · Поправил: daFix · Личное сообщение · #9 Ну если уж тут говорят за Пепку, тогда может быть подскажите как он палит отладчики? Проверка на драйвера проходит успешно, отладчик не палится, а потом каким-то раком палимся. Интересный факт - мы палимся в любом случае, даже если отладчика нету))) Трейсил, трейсил... ![]() --------------------------- OpenBox 3.16 --------------------------- Debugger found A debugger has been found running in your system. Please, unload it from memory and restart your program ! ADDED: Сабжевая прога в этом топике накрыта пепкой. gena-m Странно, у меня не виснет ----- Research For Food ![]() |
|
Создано: 16 октября 2010 18:32 · Поправил: gena-m · Личное сообщение · #10 Ну если уж тут говорят за Пепку, тогда может быть подскажите как он палит отладчики? Начинается все с TLS там он проверяет бряк на ОЕП (который отладчик ставит автоматом), затем сбрасываются железные бряки (предполагаю при проходе исключений, не проверял, просто их не использую), используется установка обработчиков исключений через SetUnhandledExceptionFilter, а их отладчик не устанавливает, в результате обработчика нет и исключение валит отладчик(использую плагин Hide Debugger), затем идет проверка имен окон, классов, поиск драйверов (в т.ч и сиськи),получается что ему не нравится присутствие отладчика на компе а не факт его работы, хотя это тоже он определяет, на данный момент накопал это, если интересно. Падение программы происходит довольно далеко от того места где обнаружен отладик, поэтому тсяжело определить причину. Я не сказал что виснет просто как то не так идет работа с потоками, запускаются непонятно от чего и непонятно в какой последовательности(совершенно не так как идет вызов CreateThread), т.е. совсем не так как я ожидаю, поэтому приходится циклить и ставить бряки на все создаваемые потоки а потом какой из них сработает тот и трассировать, (хотя без отладчика все идет как я ожидаю)в общем заморочливый прот. ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше ![]() |
|
Создано: 16 октября 2010 20:28 · Поправил: SReg · Личное сообщение · #11 |
|
Создано: 16 октября 2010 21:15 · Поправил: gena-m · Личное сообщение · #12 Абсолютно чистая - это и Олли нет и ее плагинов? У меня например Олли с плагинами и борландовский и VS отладчики стоят, хотя сисера и айса нет (но присутствуют дистрибутивы) и непонятно какой отладчик ему не нравится. Пока что я не расковырял этот прот вдоль и поперек - поэтому сложно сказать почему он ругается, но из за этой мессаги, при неработающих отладчиках, я впринципе и начал его ковырять. Вообщето топик по работе потоков был открыт, а перерос в обсуждение пепы. ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше ![]() |
|
Создано: 16 октября 2010 21:59 · Личное сообщение · #13 |
|
Создано: 16 октября 2010 22:34 · Личное сообщение · #14 У меня получается: под отладчиком - вначале создается поток по стартовому адресу 29876b20, но не запускается, затем создается поток со стартовым адресом 2989С740 запускается и доходит до Sleep. без отладчика - создается и запускается поток 29876b20, затем создается и запускается поток 2989e750. Вот такие "странности" мне не нравятся и я пытаюсь найти причину разного создания и поведения потоков. Видимо это моя ошибка, что ставил бряки в начало потока, попробую ставить не на начало. ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше ![]() |
|
Создано: 16 октября 2010 23:50 · Личное сообщение · #15 |
|
Создано: 17 октября 2010 00:03 · Личное сообщение · #16 |
![]() |
eXeL@B —› Вопросы новичков —› CreateTread |
Эта тема закрыта. Ответы больше не принимаются. |