| Предыдущий | Следующий |
| RPC_S_ZERO_DIVIDE | RPC_S_FP_DIV_ZERO |
RPC_S_ADDRESS_ERROR
Сервер получил исключение при обращении к памяти во время вызова
RPC_S_ADDRESS_ERROR представляет исключение адресации на RPC-сервере. Это отличается от недопустимого сетевого адреса или конечной точки. Сервер начал выполнять удалённую процедуру и обратился по недопустимому указателю, невыровненному адресу, устаревшему объекту или повреждённой структуре, после чего RPC сообщил сбой вызывающей стороне.
Получите стек сбоя сервера или первого исключения и сопоставьте его с конкретным интерфейсом и opnum. Проверьте владение контекстными объектами, пользовательски маршализуемые типы, выходные буферы и асинхронное состояние, способное пережить вызов. Надёжные заглушки проверяют данные провода, но код диспетчера отвечает за собственные указатели и время жизни объектов.
Что проверить
- Выполняйте отладку на сервере и определите точную сбойную операцию чтения или записи.
- Проверьте время жизни дескрипторов контекста и асинхронных объектов между потоками.
- Убедитесь, что пользовательские процедуры маршалинга симметрично выделяют и освобождают данные.
Ссылки
- Microsoft: обработка исключений RPC
- Microsoft: работа с памятью в сгенерированных заглушках
- Microsoft: строгая типизация дескрипторов контекста
Нужно найти другой код? Найти другой код состояния или ошибки.
