Manual de Calibre | Page 290

Manual de usuario de calibre, Publicación 2.73.0 calibre-debug -g Del mismo modo, se puede iniciar el visor de libros electrónicos como: calibre-debug -w /path/to/file/to/be/viewed El editor de libros electrónicos puede iniciarse como: calibre-debug -t /path/to/be/edited Usar un intérprete de python interactivo Puede insertar las siguientes dos líneas de código para iniciar una sesión interactiva de python en ese punto: from calibre import ipython ipython(locals()) Cuando se ejecuta desde la línea de órdenes, esto iniciará un intérprete interactivo de Python con acceso a todas las variables definidas localmente (variables en el ámbito local). El modo interactivo puede incluso completar con TAB las propiedades de objetos y puede utilizar las diversas funciones de Python para la introspección, como dir(), type(), repr(), etc. Usar el depurador de python como un depurador remoto Puede utilizar el depurador incorporado de python (pdb) como un depurador remoto desde la línea de órdenes. En primer lugar, inicie el depurador remoto en el punto del código de calibre en el que esté interesado, de esta forma: from calibre.rpdb import set_trace set_trace() A continuación ejecute calibre, ya sea en modo normal o usando una de las órdenes de depuración de calibre descritas en la sección anterior. Una vez que se alcanza el punto del código anterior, calibre se detendrá, esperando a que se conecte el depurador. Ahora abra una terminal o un símbolo de sistema y utilice el siguiente comando para iniciar la sesión de depuración: calibre-debug -c "from calibre.rpdb import cli; cli()" Puede leer acerca de cómo usar el depurador de python en la documentación de stdlib de python para el módule pdb111 . Nota: De forma predeterminada, el depurador remoto intentará conectarse con el puerto 4444. Puede cambiarlo, pasando el parámetro de puerto tanto a la función set_trace() como a cli(), de este modo: set_trace(port=1234) y cli(port=1234). Nota: El depurador de python no puede manejar múltiples hilos, así que tiene que llamar set_trace una vez por hilo, cada vez con un número de puerto diferente. 111 https://docs.python.org/2/library/pdb.html#debugger-commands 286 Capítulo 1. Secciones