Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
Одна вещь проверить на состоит в том, что Ваш поддерживающий блок проекта не был установлен в GAC. Откройте командную строку и выполните следующее для проверки...
gacutil/l assemblyName
Не уверенный, если это - он, но "Инструменты> Опции> Отлаживающий> General:Enable Просто, Мой Код" является возможностью. (Я предпочитаю всегда уезжать, это сняло флажок.)
Оказывается, что блок должен был быть скопирован в GAC, прежде чем это могло быть отлажено. Под параметром отладки "Просто мой код", существует опция подавить ошибку, если у Вас нет пользовательского кода, и он подавлял следующую ошибку:
Следующий мобильный телефон был создан или с включенной оптимизацией или без отладочной информации. (Имя модуля и путь) Для отладки этого модуля измените его конфигурацию сборки на Режим отладки.
, Так как я создавал его в Настройке отладочного процесса, я искал на том сообщении об ошибке и получил это:
проблема решена. Я не знаю, почему это должно быть в GAC для меня для продвижения в проект, но это делает. Я не спрашиваю, почему, я просто спрашиваю, как, и затем я делаю это...
Необходимо удостовериться, чтобы проекты поддержки имели pdb файлы, или иначе Visual Studio не будет иметь необходимой информации для продвижения через код.
Несколько возможностей:
существует флажок для продвижения в "просто мой код". Его намерение состоит в том, чтобы сделать его так, Вы не можете ступить в код Платформы Microsoft (если Вы не принимаете решение путем снятия флажка).
Вы могли бы попытаться перекомпилировать код поддержки для проверки кода, который Вы отлаживаете, точно соответствует файлу кода, на который Вы смотрите. VS действительно заботится об этом и отключит точку останова при помещении его в файл кода, версия которого не соответствует. Кроме того, удостоверьтесь, что файл PDB находится в том же каталоге как DLL.