Как отладить поведение аварийного репортера после сбоя?

Я использую Google Breakpad для отчетов о сбоях приложения C ++ на Mac и Windows. На обеих платформах Breakpad работает, регистрируя обработчик для необработанных исключений. Этот обработчик вызывается большинством всего, что обычно приводит к сбою процесса, например, разыменование нулевого указателя.

Но теперь у меня есть сценарий, когда обработчик не вызывается, и процесс падает к репортеру аварийного завершения работы ОС. Он воспроизводится на 100%, но я не могу отладить его, потому что присоединение отладчика к процессу освобождает обработчик необработанных исключений.

Какие методы (кроме обильных printfs) могут помочь мне отследить, куда идет поток кода, если не мой обработчик? Я думаю, что я хотел бы, чтобы некоторые настройки IDE позволили моему отладчику (Visual Studio и / или Xcode) пройти мимо разыменования нулевого указателя в код обработчика среды выполнения C ++. Но другие методы также приветствуются.

У меня есть минимальное воспроизведение моего проблемного сценария здесь: https://bugreports.qt.io/browse/QTBUG-50061

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]