1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Ошибка во время выполнения

Тема в разделе "С и С++", создана пользователем Irisha, 13 сен 2010.

Статус темы:
Закрыта.
  1. Irisha

    Irisha Гость

    Репутация:
    0
    Во время выполнения появляется ошибка : Необработанное исключение в "0xcccccccc": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".Возникает она в момент, когда необходимо ввести целое число, еще до приглашения к вводу.
    Как проверить что именно вызывает подобную ошибку?
     
  2. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.432
    Симпатии:
    40
    Трассировка?
     
  3. Irisha

    Irisha Гость

    Репутация:
    0
    Я не знаю где ее скать.
    Но если это то, что я думаю то вот:
    "проба.exe": Загружено: "C:\Documents and Settings\Admin\Мои документы\Visual Studio 2008\Projects\проба\Debug\проба.exe", Символы загружены.
    "проба.exe": Загружено "C:\WINDOWS\system32\ntdll.dll"
    "проба.exe": Загружено "C:\WINDOWS\system32\kernel32.dll"
    "проба.exe": Загружено: "C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcp90d.dll", Символы загружены.
    "проба.exe": Загружено: "C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456\msvcr90d.dll", Символы загружены.
    Первый этап обработки исключения в "0x1026f689 (msvcr90d.dll)" в "проба.exe": 0xC0000005: Нарушение прав доступа при записи "0x00130000".
    Первый этап обработки исключения в "0xcccccccc" в "проба.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".
    Первый этап обработки исключения в "0xcccccccc" в "проба.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".
    Первый этап обработки исключения в "0xcccccccc" в "проба.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".
    так много много много раз
    Первый этап обработки исключения в "0x7c90e484" в "проба.exe": 0xC00000FD: Stack overflow.
    Первый этап обработки исключения в "0xcccccccc" в "проба.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".
    Первый этап обработки исключения в "0xcccccccc" в "проба.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".
    Первый этап обработки исключения в "0xcccccccc" в "проба.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".
    Первый этап обработки исключения в "0xcccccccc" в "проба.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".
    Первый этап обработки исключения в "0xcccccccc" в "проба.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".
    Первый этап обработки исключения в "0xcccccccc" в "проба.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".
    Первый этап обработки исключения в "0xcccccccc" в "проба.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".
    Первый этап обработки исключения в "0xcccccccc" в "проба.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".
    Необработанное исключение в "0xcccccccc" в "проба.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".

    Если это не то, подскажите где взять то, что нужно...
     
  4. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.432
    Симпатии:
    40
    Нет, не это)

    Уф.. Если не ошибаюсь, нажимаете клавишу F7. Программа исполняется по строчке. Если вызов какой-то функции из модуля Жмите F8, что бы в нее не заходить. И вобщем так тыркаете, пока программа не упадет. Когда упадет - увидите в каком месте. Попутно можно смотреть значения всяких переменных в ран-тайм..
    ПС.
    Если ф7-ф8 не работают, попробуйте ф4-ф5. Давно я не видел вашу студию..
     
  5. Irisha

    Irisha Гость

    Репутация:
    0
    Большое спасибо! Сама не так давно ей пользуюсь... Буду пробовать. Если что-то не выйдет, буду обращаться...
     
  6. Trouyan

    Trouyan Гость

    Репутация:
    0
    Возникла такая же ошибка. Поковырявшись пришел к следующим результатам:
    Ошибка возникает при обращении в функции класса к переменной объявленной при объявлении класса т.е. выглядит это так:

    // заголовочный h файл
    class myclass
    {
    ...
    int a;
    ...
    };

    // исполнительный cpp файл

    ...
    myclass::fMyfuc()
    {
    a=123; // <- и на этом ВЫЛЕТАЕТ с ошибкой 0xC0000005: Нарушение прав доступа при чтении !!!!!!!!
    }
    ...
    раньше с проблемой такого рода не сталкивался и очень сильно удивило меня такое поведение, тем более что даже в книжках вроде аналогично пишут, да и сам Я точно так же делаю в другом классе (созданном с помощью MFC) и проблем не возникает!!!

    Решение пока нашел только такое

    ...
    myclass::fMyfuc()
    {
    myclass::a=123;
    }
    ...

    хотелось бы узнать почему в одних случаях это работает,а в других вылетает и насколько хорошее и правильное решение Я нашел.
     
  7. a0z

    a0z Well-Known Member

    Репутация:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    108
    Симпатии:
    0
    Может this = NULL ?

    Типа такого:
    ((myclass *)NULL)->fMyfuc();

    Только почему второй код работает не ясно.
     
  8. Trouyan

    Trouyan Гость

    Репутация:
    0
    Ошибку нашел. Забыл выделить память для созданного указателя на класс=/ Раньше просто с указателями на класс не работал вот и косякнул тут.
     
  9. MeDVeDxf

    MeDVeDxf New Member

    Репутация:
    0
    Регистрация:
    7 фев 2013
    Сообщения:
    1
    Симпатии:
    0
    Господа, очень нужна помощь.
    создаю объекты типа пользовательского класса и добавляю их в контейнер "vector". При вызове функции вывода коллекции на экран выходит ошибка:
    Необработанное исключение в "0x011f5566" в "Kursovoy.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".
    Вот собственно описание функции вывода коллекции на экран:
    Код:
    void Viewer()
    {
    if(collection->size()==0) cout<<"Список пуст"<<endl;
    for (it=collection->begin(); it!=collection->end(); it++)
    {
    
    (*it)->show();
    cout<<endl<<endl;
    }
    }
    Студия при выводе ошибки указывает на строку -
    Код:
     (*it)->show();
    Никак не могу понять где ошибка. Помогите пожалуйста.
     
  10. rrrFer

    rrrFer Гость

    Репутация:
    0
    дак пройдись отладчиком по циклу, поставь брэйкпоинт на строку где подозреваешь ошибку и посмотри на значения переменных на этой строке.

    Подозреваю, что в векторе у тебя указатель на давно умерший объект, а может быть ошибка происходит внутри show() - когда обнаржуишь это - ставь брэйкпоинт уже внутри show и т.п.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей