Depuración

(Redirigido desde «depuración»)
Saltar a: navegación, buscar

Uso de los mensajes de depuración (debugging)

Los mensajes de depuración sirven para ayudarle a diagnosticar problemas o para ayudar a los desarrolladores de Moodle. Si Usted tiene un problema con su sitio Moodle y pide ayuda en un foro en Moodle.org, un desarrollador podría (casi seguramente) pedirle que active la depuración de errores, para poder localizar la causa del problema. Si Usted tiene problemas com una patalla en blanco o pantallas incompletas, entonces el activar la depuración es usualmente lo primero que debería intentar.

Habilitar depuración

Para habilitar la depuración, vaya a Depuración (Debugging) en la Administración del sitio.

Mensajes de depuración

Las opciones son:

  • NINGUNO: No mostrar ningún error ni advertencia (Predeterminado)
  • MINIMO: Mostrar solamente errores fatales
  • NORMAL: Mostrar advertencias, errores y avisos
  • TODOS: Mostrar todos los mensajes razonables de depuración PHP
  • DESARROLLADOR: Mensajes extra de depuración de Moodle para los desarrolladores

Notas:

Nota: Urgente de Traducir. ¡ Anímese a traducir esta muy importante página !.     ( y otras páginas muy importantes que urge traducir)

  1. It is recommended that a record of error messages is kept, and for the admin to regularly monitor the error logs. This may be done by setting 'Debug messages' (debug) to Normal and leaving 'Display debug messages' (debugdisplay) off (unticked). Error messages are then recorded in the server logs.
  2. If 'Debug messages' is set to Developer on a production (public) site, it is recommended to copy and paste the debugging message obtained and then turn off Developer debugging. This is because debugging messages can give clues to a hacker as to the set-up of your site.

Mostrar mensajes de depuración

If you select this checkbox, the debug messages are displayed directly in the browser, otherwise they are stored in the server logs.

Envío de Emails de depuración

Determines whether or not to enable verbose debug information during sending of email messages to SMTP server.

Más herramientas para depurar el correo saliente (SMTP)

You can also use the config.php file to turn on more "tools" which will assist you with debugging the outgoing emails (and SMTP server configuration):

  • Redirect all outgoing emails to a specific address:
// Divert all outgoing emails to this address to test and debug emailing features
// $CFG->divertallemailsto = 'root@localhost.local'; // NOT FOR PRODUCTION SERVERS!
  • Turn on the CRON debugging and run CLI cron.php script.
// Force developer level debug and add debug info to the output of cron
// $CFG->showcrondebugging = true;

And then use SSH (or putty.exe, on windows) to run:

you@moodle-server(/var/www/html/moodle)# php admin/cli/cron.php
  • Turn on verbose SMTP debugging and output it into system's error_log (code hack):

As suggested on Moodle's discussion forums: Open lib/moodlelib.php L5379 and change it to:

if (!empty($CFG->debugsmtp)) {
    $mailer->SMTPDebug = 1;  // 0 - no debug ... 4 - low level full debug
    $mailer->Debugoutput = "error_log";
}

See more info about SMTPDebug parameters & Debugoutput parameters, Set-up mailcatcher (https://mailcatcher.me/).

Información sobre desempeño

The Performance info option determines whether performance info will be included in the footer of the standard theme (and some other themes). Performance info includes the time for the page to load, the amount of memory used to generate the page, cpu usage, load, and the record cache hit/miss ration.

If you add

define('MDL_PERF', true);
define('MDL_PERFDB', true);
define('MDL_PERFTOLOG', true);
define('MDL_PERFTOFOOT', true);

to your config.php file, then it will also count database queries. (This has to be in config.php, because Moodle starts doing DB queries before it loads the config information in the database!)

To hide performance info from ordinary users, see the discussion Performance info only for admins?

Mostrar origen de las cadenas de texto de idiomas

Ayuda con la traducción y también con la Personalización del idioma. A veces
?strings=1
debería de añadirse; en otras ocasiones
&strings=1
. Vea el artículo de la Wikipedia Query string para más detalles.

Mostrar enlaces de validador

Sea cuidados, lea la advertencia.

Mostrar información en la página

Para mostrar información en la página, impresa en el pie de página.

Depurar consultas SQL

You can add (turn ON) any of the following dboptions in your config.php files, which log different types of SQL queries into mdl_log_queires table:

  • logall - log all queries - suitable only for developers, causes high server loads and NOT recommended for production.
  • logslow - log queries that take longer than specified number of seconds (float values are accepted).
  • logerrors - log all error queries.

Full sample:

$CFG->dboptions = array (
  //'logall'   => true,
  'logslow'  => 5,
  'logerrors'  => true,
);

Qué hacer si no puede llegar a las pantallas de administración

If the error is stopping you even getting to the admin screens to turn on debugging, then you can set the debugging setting manually.

Intente escribir la URL directamente

The debug settings are at the URL
http://.../admin/settings.php?section=debugging
on your server. Sometimes that URL will work, even though the pages you need to go to get there (for example the site front page) do not. So it is worth trying to enter that URL directly.

En config.php

En config.php Usted puede des-comentar líneas (elimine los // al inicio de la línea) bajo la Sección 7 para habilitar la depuración para todos o solamente para usuarios específicos:

//=========================================================================
// 7. SETTINGS FOR DEVELOPMENT SERVERS - not intended for production use!!!
//=========================================================================
//
// Force a debugging mode regardless the settings in the site administration
// @error_reporting(E_ALL | E_STRICT);   // NOT FOR PRODUCTION SERVERS!
// @ini_set('display_errors', '1');         // NOT FOR PRODUCTION SERVERS!
// $CFG->debug = (E_ALL | E_STRICT);   // === DEBUG_DEVELOPER - NOT FOR PRODUCTION SERVERS!
// $CFG->debugdisplay = 1;              // NOT FOR PRODUCTION SERVERS!
//
// You can specify a comma separated list of user ids that that always see
// debug messages, this overrides the debug flag in $CFG->debug and $CFG->debugdisplay
// for these users only.
// $CFG->debugusers = '2';

Recuerde volver comentarios nuevamente estas líneas (reinserte los // al inicio de la línea) cuando haya terminado de diagnosticar su problema.

NOTE 1: do not try to modify the config database table directly, it will not work because the values are cached in MUC.

NOTE 2: if you find your config.php does not have the above settings (you have a cut down approx 30 lines config.php) look for a "config-dist.php" file that contains the full details. I would suggest transferring your details in the current config.php file you have into the full config file and renaming that one to "config.php".

Vea también