расследование сокета в аварийной свалке - PullRequest
1 голос
/ 24 января 2012

У нас есть аварийный дамп (пользовательский режим) от клиента, который испытывает проблемы с сетью в нашем приложении. В аварийном дампе я вижу все дескрипторы, которые открыты для работы в сети.

Вопрос: Как я могу исследовать сокет, связанный с дескриптором?

Команда windbg! Handle не отображает информацию о свойствах соединения. Я имею в виду - состояние сокета - привязка / удаленный IP, - привязка / удаленный порт
- ожидающие буферы данных (было бы здорово) и т. д.

1 Ответ

0 голосов
/ 31 января 2012

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

Если вы хотите сохранить эту информацию, вам придется использовать свое приложение для хранения параметров создания сокета в памяти пользовательского режима.

...