kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
Daniel Silveira
Daniel Silveira
Вопрос

Как отследить исключения COM-объектов?

У меня есть DLL с некоторыми COM-объектами. Иногда эти объекты crashes и регистрируют событие ошибки в журнале событий Windows с большим количеством шестнадцатеричных данных. Я понятия не имею, почему это происходит.

Как я могу отследить исключения этих COM-объектов?

0 2008-08-14T12:41:43+00:00 4
Michael Schmidt
Michael Schmidt
Редактировал вопрос 4-го июля 2013 в 12:10
Программирование
trace
com
exception
dll
Решение / Ответ
Jay Mooney
Jay Mooney
14-го августа 2008 в 1:03
2008-08-14T13:03:10+00:00
Дополнительно
Источник
Редактировать
#8414839

Первым шагом будет поиск шестнадцатеричного значения кода ошибки (например, E_FAIL 0x80004005). Мне очень помогло введение этого значения в Google, чтобы понять, что означает код ошибки.

Затем я просто методом проб и ошибок пытаюсь определить место в коде, которое дает сбой, и основную причину сбоя.

2
0
Matt Dillard
Matt Dillard
14-го августа 2008 в 1:40
2008-08-14T13:40:05+00:00
Дополнительно
Источник
Редактировать
#8414840

Если вам просто нужен быстрый способ узнать, что означает код ошибки, вы можете использовать инструмент "Error Lookup", поставляемый с Visual Studio (подробности здесь). Введите шестнадцатеричное значение, и он выдаст вам строку, описывающую этот код ошибки.

Конечно, как только вы это узнаете, вам все равно придется выяснить, почему это происходит.

1
0
 Nick
Nick
16-го августа 2008 в 7:00
2008-08-16T19:00:30+00:00
Дополнительно
Источник
Редактировать
#8414841

Хорошим способом поиска кодов ошибок (hresult) является HResult Plus или welt.exe (Windows Error Lookup Tool).

Я использую внутреннее протоколирование в COM-классах, чтобы увидеть, что происходит. Кроме того, как только COM-класс загружен исполняемой программой, вы можете подключить к нему отладчик VS и отлаживать COM-код с помощью точек останова, часов и прочих интересных вещей.

1
0
Brad Wilson
Brad Wilson
16-го августа 2008 в 7:55
2008-08-16T19:55:19+00:00
Дополнительно
Источник
Редактировать
#8414842

COM возражает don' t бросают исключения. Они возвращают HRESULTs, большинство которых указывает на неудачу. Таким образом, если you' ре ища эквивалент трассировки стека исключения, you' неудачливое ре. You' ре, оказывающееся перед необходимостью прогулка через кодекс вручную и фигуру what' s продолжение.

1
0
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 1 день назад
2
Денис Васьков
Зарегистрирован 2 дня назад
3
Dima Patrushev
Зарегистрирован 4 дня назад
4
sirojidddin otaboyev
Зарегистрирован 1 неделю назад
5
Елена Гайдамамакинат
Зарегистрирован 1 неделю назад
ID
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией