Поиск места сбоя внутри плагина NPAPI в Chrome

У меня есть плагин NPAPI, который успешно работает в Chrome, Firefox и т. д., за исключением одного пользователя, у которого он вылетает в Chrome, но не в Firefox. Я установил Visual Studio на компьютер этого пользователя, загрузил исходные файлы для своего подключаемого модуля и пытаюсь устранить сбой. Я могу подключиться к соответствующему процессу chrome.exe (спасибо --plugin-startup-dialog), могу установить точки останова и пройтись по своему коду. Но есть несколько сотен тысяч строк кода для отладки, код, который вызывается несколько раз в секунду, и я еще не нашел подходящей точки останова.

Обычно, конечно, когда процесс VS отлаживает сбои, VS сообщит об этом сбое и даст вам возможность просмотреть стек вызовов. Но с Chrome о сбое, по-видимому, никогда не сообщается VS, так как процесс просто завершается молча.

мне сказали, что вы можете отключить эквивалентный поведение в Firefox, чтобы VS мог обработать ошибку, но я не уверен, как это сделать в Chrome. Любые идеи о том, как сообщить о сбое в Visual Studio?


person Ken Smith    schedule 01.04.2013    source источник
comment
Я предполагаю, что вам нужно начать с --disable-breakpad?   -  person Georg Fritzsche    schedule 02.04.2013


Ответы (1)


Как оказалось, я неправильно диагностировал проблему. На рассматриваемой машине было агрессивное приложение безопасности. Он думал, что наш подключаемый модуль NPAPI делает что-то неуместное (вызывает SetWindowsHookEx), и молча убивал процесс Chrome, в котором размещался подключаемый модуль. Я подозреваю, что VS столкнулся бы с каким-то исключением при нормальных обстоятельствах.

person Ken Smith    schedule 02.04.2013