Я поддерживаю проект, который использует межпроцессный COM с C ++. На верхнем уровне функций вызываемого есть операторы try / catch непосредственно перед возвратом через COM. Функция catch преобразует любые исключения C ++ в пользовательские коды ошибок, которые передаются вызывающей стороне через уровень COM.
В целях отладки я хочу отключить этот try / catch и просто позволить исключению вызвать сбой в вызываемом процессе (как это обычно происходит с неперехваченным исключением C ++). К сожалению, для меня граница COM, кажется, поглощает эти необъяснимые исключения C ++, и я не получаю сбой.
Есть ли способ изменить это поведение в COM? Т.е. я хочу, чтобы необработанное исключение C ++ вызывало сбой в процессе вызываемого.
Я хочу, чтобы это произошло, чтобы я мог подключить отладчик и увидеть контекст, в котором выдается исключение. Если я просто оставлю наш try / catch на месте и точку останова на catch, то стек уже размотан, и поэтому для меня уже слишком поздно.
Оригинальные «мастера COM», написавшие это приложение, либо недоступны, либо не могут вспомнить достаточно деталей.