Форум программистов, компьютерный форум CyberForum.ru

_beginrhread = crash 0xc0000417 - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.62
Owyn
0 / 0 / 0
Регистрация: 28.05.2009
Сообщений: 64
01.08.2010, 15:27     _beginrhread = crash 0xc0000417 #1
code 417 значит неверный параметр был дан ф-ции рунтайма, а именно _beginthread
_beginthread(func,0,NULL);
но этот же код хорошо работал в моей старой другой проге =\

дебаг:
ни win debugging tools ни студио дебагер его не ловят, он просто не случается, а в оллидб:
ставишь Ignore memory access violations in KERNEL32 - галочку
= краш есть как и без дебугера
- снимаешь её = краша нет


провел некотороые тесты:
X - краш
Y - всё ок
с _beginthread:
XXYXYX - 4 теста краш
без него:
YYYYYY - 6 тестов всё ок
всё при одинаковых действиях


код:

C++
1
2
3
4
5
6
7
8
9
10
void __cdecl func(void *dummy)
{
    MessageBox(NULL, TEXT("Thread Started!"), TEXT("Yes!"), 0);
 
    while(true)
    {
        Sleep(1000);
        // do stuff
    }
}
зовется он:
C++
1
_beginthread(func,0,NULL);
если не зовется никак, то и краша нет.. если краш то и месаджбокс не вылезает

если бубен не поможет, может есть несложная альтернатива что бы делать ф-цию каждые 10 сек кроме sleep(10000) в треде?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
01.08.2010, 16:36
  #2

Не по теме:

я вам скажу это редкостное извращение, запускать бесконечное количество процессов

M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
01.08.2010, 19:06     _beginrhread = crash 0xc0000417 #3
fasked, процесс или все таки поток?
Owyn
0 / 0 / 0
Регистрация: 28.05.2009
Сообщений: 64
01.08.2010, 22:09  [ТС]     _beginrhread = crash 0xc0000417 #4
попробовал переделать под CreateThread - получился точно такой же результат =\

а вот переместил _beginthread() в конец функции откуда она вызывается прямо над return и всё ок вроде стало
Yandex
Объявления
01.08.2010, 22:09     _beginrhread = crash 0xc0000417
Ответ Создать тему
Опции темы

Текущее время: 03:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru