Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка 'null pointer assignment', подскажите, как справиться с ошибкой 
:(
    Опции темы
Alcheringa
Дата 22.6.2012, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 22.6.2012

Репутация: нет
Всего: нет



Здравствуйте, подскажите, как можно убрать ошибку null pointer assignmen.
Читала на разных форумах,но там в основном общие слова, мол контролируйте память с помощью трассировки.
Если какие-нибудь еще методы отладки?
Заранее спасибо!
PM MAIL   Вверх
feodorv
Дата 22.6.2012, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Цитата(Alcheringa @  22.6.2012,  01:17 Найти цитируемый пост)
основном общие слова, мол контролируйте память с помощью трассировки.

Ну, можно в противовес задействовать конкретную кофейную гущу)))
Проект-то большой? Какие сложности в отладке?


Можно откомпилироваться с большим уровнем выдачи предупреждений и устранить замеченное компилятором. Обращать внимание стоит на каждое предупреждение, а не выборочно.


Можно внимательно изучить свой код на предмет возможного присвоения по адресу NULL. Как явного:
Код

char *p = NULL;
...
*p = 'x';

так и не явного:
Код

int i;
scanf( "%d",i); // должно быть &i 

Код

FILE *file;
if( file = fopen( "test", "r") == NULL ) {} // должно быть if( (file = fopen( "test", "r")) == NULL )

Код

char *p;
...
p = malloc( getSize() ); // должно быть if( (p = malloc( getSize() )) == NULL ) abort();
*p = 'x';

и так далее...


Можно скомпилироваться с поддержкой отладочной информации (debug-версия) и получить дамп файл, анализируя который определить сбойную строчку. 
Можно много ещё чего, только нужно знать Вашу ОС, компилятор, код и прочее...

Это сообщение отредактировал(а) feodorv - 22.6.2012, 01:44


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
xvr
Дата 22.6.2012, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(Alcheringa @  22.6.2012,  00:17 Найти цитируемый пост)
Если какие-нибудь еще методы отладки?

Откомпилите по Windows в консольном режиме, и запустите. Получите не 'null pointer assignment' в конце приложения, а немедленный слом при неправильном присваивании непосредственно в месте присваивания (запускать под дебагером)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0692 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.