Необработанное исключение в Visual Studio 2008 - PullRequest
1 голос
/ 11 июня 2011

Я закончил писать программу на C ++. Я использовал 'cout' для отладки. Все работало, я удалил комментарии отладки, но есть проблема с запуском программы. Когда я использую комментарии, все работает хорошо. Но когда я их удаляю, программа запускается, позволяет мне написать имя файла, но когда я нажимаю «ввод», происходит ошибка:

Необработанное исключение в 0x0142d866 в Pathfinder.exe: 0xC0000005: Место чтения нарушения прав доступа 0xcccccc70

Заголовочный файл

и xiosbase откроется, указывая на

fmtflags __CLR_OR_THIS_CALL flags() const
{   // return format flags
    return (_Fmtfl);
}

Ошибка возникает, когда я пытаюсь поместить элементы в карту. Это происходит только тогда, когда комментарий отладки удаляется в другой функции. Кто-нибудь может помочь?

-this 0xcccccc6c {_Stdstr=??? _Mystate=??? _Except=??? ...} const std::ios_base * const
    std::_Iosb<int> {...}   std::_Iosb<int>
    __vfptr CXX0030: Error: expression cannot be evaluated  
    _Stdstr CXX0030: Error: expression cannot be evaluated  
    _Mystate CXX0030: Error: expression cannot be evaluated 
    _Except CXX0030: Error: expression cannot be evaluated  
    _Fmtfl  CXX0030: Error: expression cannot be evaluated  
    _Prec   CXX0030: Error: expression cannot be evaluated  
    _Wide   CXX0030: Error: expression cannot be evaluated  
    _Arr    CXX0017: Error: symbol "" not found 
    _Calls  CXX0017: Error: symbol "" not found 
    _Ploc   CXX0017: Error: symbol "" not found 
    _Index  0   int
    _Sync   true    bool

Ответы [ 2 ]

2 голосов
/ 11 июня 2011

Значение 0xcccccc70 выглядит так, как будто программа использует смещение от неинициализированного указателя.

В режиме отладки память заполнена 0xcccccccc, чтобы сделать это более заметным.

0 голосов
/ 12 июня 2011

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

Включите полную страницу подкачки для своей программы, а затем снова запустите в отладчике.Он должен потерпеть крах раньше, если не в точке повреждения, что даст вам больше информации для дальнейшей работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...