Можно ли по-прежнему использовать отладчик Visual Studio для отладки доверенных плагинов ppapi при использовании флага —ppapi-out-of-process?

Я использую новый класс MessageLoop, представленный в перец-25 поэтому я могу запустить фоновый поток с блокировкой вызовов ppapi для File IO. До сих пор я запускал Chrome из Visual Studio с флагами --single-process а также --register-pepper-plugins так что я могу отлаживать свой плагин из визуальной студии.

Используя эти флаги, я обнаружил, что вызов PPB_GetInterface get_browser за PPB_MESSAGING_INTERFACE возвращал нуль, и после некоторого поиска я нашел это вопрос в котором говорится, что вы должны бежать с флагом --ppapi-out-of-process получить MessageLoop служба поддержки.

С этим флагом добавлен get_browser возвращает верный указатель интерфейса, но я больше не могу отлаживать свой плагин с Visual Studio Ide, поскольку он не может присоединиться к дочернему процессу, из которого запускается мой плагин. Есть ли какой-либо способ сказать, чтобы он подключался к процессу моего плагина или был запущен из одного процесса с поддержкой MessageLoop?

Спасибо,
Джеймс

1

Решение

Чтобы Visual Studio автоматически подключался к дочерним процессам, вы можете использовать обходные пути, описанные в Можно ли сделать Visual Studio для отладки дочерних процессов, таких как WinDBG?.

Другой подход заключается в использовании флагов --no-sandbox а также --ppapi-startup-dialog когда вы запускаете Chrome. Это приведет к появлению окна сообщения с идентификатором процесса при создании процесса плагина. Затем вы можете подключить отладчик Visual Studio к этому процессу, используя команду Отладка -> Присоединить к процессу … -> Выбрать идентификатор процесса. Конечно, вы могли бы присоединиться к процессу без флагов Chrome, и он не является автоматическим, так что на самом деле это просто дает вам уверенность, что вы подключаетесь к нужному процессу, если у вас много запущенных одновременно.

Третий подход заключается в использовании бесплатного отладчика Microsoft WinDbg. Он сложен и гораздо менее удобен для пользователя, чем встроенный отладчик в Visual Studio, но у него есть возможность автоматически подключаться к дочерним процессам. Скачать можно с http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx.

Что касается MessageLoop, он не будет поддерживаться для внутрипроцессных плагинов. Как упоминается проблема, на которую вы ссылаетесь, разработчики должны перейти на внепроцессный процесс, даже если это добавляет неудобство невозможности автоматического присоединения отладчика Visual Studio без обходных путей.

2

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

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

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