Pregunta

De lo que deduzco, Google Chrome puede ejecutar complementos del navegador escritos con NPAPI .

He escrito uno que funciona bien en Firefox, pero hace que Chrome se bloquee y se queme tan pronto como lo inserte en una página. Ni siquiera tengo que llamar a ninguno de mis métodos, la inserción es suficiente para causar un bloqueo.

¿Cómo depuro esto? Intenté adjuntar el depurador a Chrome, pero los rastros de la pila que obtengo están en el fondo de Chrome y, como dije, ninguno de '' mi '' se está ejecutando el código real, pero supuestamente solo el código de inicio NPAPI.

Agradecería algunos consejos.

¿Fue útil?

Solución 3

Como resultado, parte del código de inicialización del antiguo ejemplo de complemento NPAPI que estaba usando causó el bloqueo. Lamento decir que resolví esto hace un tiempo y parece que no puedo encontrar las modificaciones específicas que hice para solucionarlo en el historial de control de versiones. De todos modos, mi problema está solucionado y fue causado por ser estúpido y confiar ciegamente en el código de ejemplo.

Otros consejos

Los documentos de desarrollo de Chromium describen algunos trucos para adjuntar Visual Studio a los procesos de Chrome: Chromium Developer Documentación > Depuración de cromo .

Algunos problemas que podría enfrentar con un complemento NPAPI en Chrome:

  • Su complemento se ejecutará en un proceso separado de la interfaz de usuario de Chrome. (Probablemente ya lo sepas :)
  • Si se cargan varias instancias de su complemento (en la misma página HTML o en diferentes pestañas de Chrome), sus instancias de complemento se ejecutarán juntas en el mismo proceso. Si tiene variables globales, sus instancias de complementos podrían estar pisoteándose entre sí.
  • Chrome usa DEP (Protección de ejecución de datos), pero Firefox no. Si está utilizando ATL u otros trucos de código JITted, DEP puede bloquear su complemento.

Chrome es de código abierto ... ¿ha intentado descargar la fuente y construirla? De esa manera, al menos puede apuntar su IDE al árbol de código fuente y hacer que se adjunte automáticamente cuando se bloquea, lo que puede brindarle un poco más de información sobre lo que sucedió.

Esto no resolverá su error, por supuesto, pero podría ayudarlo a informar uno al equipo de Chrome. Como bien sabe, la API del complemento es bastante nueva para Chrome, y es posible que el error sea suyo y no suyo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top