Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C++ Builder > Отключение потоков |
Автор: m0Hax 25.3.2009, 21:17 |
Проблема связана с запуском программы в BDS2009. Система 64-битная. Прочессор четырех-ядерный. При запуске любого проекта стартует поток (в Event log - Thread Start: Thread ID:...), который как я понял осуществляет необходимый мне расчет. Потом стартует еще 3 потока с разными ID (я так понимаю соответствующие оставшимся ядрам процессора). Если завершить проект до выхода из последних трех потоков вылетает окно с ошибкой следующего содержания: bds.exe - bordbk120N.dll Assertion failure: "(!"SetThreadContext failed")" in ..\win32src\thread32.cpp at line 434 Continue execution? Yes No В не зависимости от выбранного варианта продолжать выполнение или нет - происходит либо продолжение отладки приложения, либо зависание BDS. Далее приходится перезагружать полностью всю BDS. Кроме того возникают проблемы с отладкой. Но если при отладке дождаться все таки выхода из потоков (Thread Exit), то при завершении проекта все нормально - нет никаких ошибок. Ошибки так же отсутствуют и при случае завершения проекта до запуска этих трех потоков. Так вот вопрос - можно ли отключить запуск ненужных потоков (приложения достаточно простые и не требуют использования потоков)? З.Ы.: Потоки я сам не создаю в программе - видимо это фишка системы, ибо на 32-битной системе подобных коллизий не наблюдается. |
Автор: Klin 25.3.2009, 22:22 |
Простите за оффтоп, но аццкий сотона... Насчет задачи (не сплю вторые сутки - вырубает, поэтому могу быть не объективен), возможно вам помогут следующие темы: http://forum.vingrad.ru/topic-132242.html http://forum.vingrad.ru/topic-251807.html http://forum.vingrad.ru/topic-60076/view-all.html Последняя ссылка по делфе, но там много теории, которая возможно, окажется вам полезной. |
Автор: PriZraK 29.5.2009, 14:32 |
Открыть bordbk120N.dll в любом HEX редакторе и измененить 1 байт по смещению 0x74 от 245181 до 0xEB. Версия bordbk120N.dll — 120.8.11.14378. |
Автор: fess 30.5.2009, 22:57 |
Для других версий надо искать 01 00 48 74 47 80 3D и заменять 74 на EB. |
Автор: pei7a 11.5.2010, 18:12 |
Delphi_2007_2009_WOW64_Debugger_Fix ищите в и |
Автор: nitroG 24.10.2010, 16:52 |
спасибо за файлик, очень здорово помог ![]() |
Автор: Emileo 30.11.2010, 04:29 |
Все заработало, СПАСИБО большое! |
Автор: mollusk 2.6.2011, 11:37 |
Thanks for the patch ![]() |
Автор: Blindfold 30.3.2012, 09:53 |
Спасибо за патч! |
Автор: 4Got 19.11.2012, 12:13 |
Огромное спасибо автору и всем, кто помог решить проблему. Из-за этого моё психическое состояние стабилизировалось, ато хотельсь разбить комп просто. СПАСИБО |
Автор: Dem_max 19.11.2012, 16:55 |
Все таки так делать и нужно всегда !!! Но если при отладке дождаться все таки выхода из потоков (Thread Exit) |
Автор: drdead 17.1.2013, 13:13 |
Спасибо за патч! Нервов ушло - уйма. думал - в коде налажал. |
Автор: PsymoN 4.4.2014, 18:28 |
Спасибо за патч! ![]() вылетала данная ошибка на C++ Builder 2007. |
Автор: noxic 24.6.2016, 11:38 |
Класс, спасибо |