Необработанное исключение в 0x523d14cf (msvcr100d.dll)?
Необработанное исключение в 0x523d14cf (msvcr100d.dll) в IntellitracTCPIP.exe: 0xC0000005: расположение чтения нарушения доступа 0x00000008.
что может вызвать эту ошибку? и как это решить
2 ответа
Адрес, который вы пытаетесь прочитать, предполагает, что у вас есть структура, состоящая из нескольких 4-байтовых целых чисел. У вас есть указатель на этот тип структуры, но этот указатель является нулевым. Ваша программа хочет прочитать третье - смещение третьего целочисленного поля будет равно 8. Добавьте это к адресу нулевого указателя 0, и вы получите 0x00000008. (Это может быть структура меньших или больших типов или даже массив, но мой опыт подсказывает, что 4-байтовые целые числа наиболее вероятны.)
Сообщение об ошибке указывает, что ошибочная строка кода принадлежит msvcr100d.dll. Это не твой код; вы, вероятно, передали нулевой указатель на некоторую функцию времени выполнения C. Эта функция предполагает, что вы указали действительный указатель и попытался прочитать третье поле структуры, но поскольку этот указатель недействителен, ОС перехватила попытку чтения и вместо этого вызвала исключение.
Найдите последнюю строку кода в вашей программе до того, как произойдет эта ошибка. Чтобы сделать это, вы можете использовать стек вызовов, чтобы увидеть цепочку вызовов функций, которые ваша программа выполнила, чтобы добраться до точки, где произошел сбой. Идите вниз по списку, пока не найдете одну из своих функций. Вы видите какие-либо указатели? Можете ли вы гарантировать, что все они действительны при вызове этой функции? Если нет, то вы уверены, что должны вызывать эту функцию? Либо убедитесь, что указатель действителен, либо избегайте вызова функции с нулевыми указателями.
0xC0000005: Access violation reading location 0x00000008.
Это указывает на плохой указатель. Нет указателей, указывающих на такой низкий адрес, как 0x00000008
, Вы не предоставляете достаточно информации об этом, попробуйте запустить программу под отладчиком.