<?xml version="1.0" encoding="UTF-8" ?>

<sect1 id="debugging-3-2">
<sect1info>
<title
>Debugging in &quantaplus;</title>
<authorgroup>
<author
><firstname
>Christopher</firstname
> <surname
>Hornbaker</surname
> <affiliation
> <address
><email
>chrishornbaker@earthlink.net</email
></address>
</affiliation>
</author>

<author
><firstname
>Linus</firstname
> <surname
>McCabe</surname
> <affiliation
> <address
><email
>Linus@McCabe.nu</email
></address>
</affiliation>
</author>

<othercredit role="translator"
><firstname
>Marcello</firstname
><surname
>Anni</surname
><affiliation
><address
><email
>marcello.anni@alice.it</email
></address
></affiliation
><contrib
>Traduzione della documentazione italiana</contrib
></othercredit
> 

</authorgroup>
</sect1info>

<title
>Debugging in &quantaplus;</title>

<sect2 id="php-debugging-3-2">
<title
>Usare il Debugger &PHP;</title>

<para
>Con la versione di &quantaplus; 3.3, la gestione del debugger fu reimplementata. Fu integrato il supporto per l'ormai obsoleto debugger &PHP; (3) integrato e fu abbandonato il supporto per il debugger dbg. Invece, fu sviluppato un sistema generico di debug a estensioni, per permettere diverse implementazioni di estensioni. </para>
<para
>Attualmente è disponibile solo un'estensione, e serve da supporto per usare &gubed; con &quantaplus;. </para>
<para
>Per usare un debugger per il tuo progetto, apri le impostazioni del progetto e scegli un'estensione appropriata per il debugger. Per modificare le impostazioni specifiche del debugger, premi il pulsante 'Opzioni' a fianco al menu a discesa dell'estensione del debugger. </para>

<sect3 id="php-debuggin-3-2-general">
<title
>Uso generico</title>
<para
>Una volta che il progetto ha un debugger attivato, appariranno alcuni elementi aggiuntivi nell'interfaccia utente di &quantaplus;: </para>

<variablelist>
<varlistentry>
<term
>Menu debugger</term>
<listitem>
<para
>Apparirà un nuovo menu dal quale potrai gestire la maggior parte delle funzionalità del debugger. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Barra degli strumenti debugger</term>
<listitem>
<para
>Una barra degli strumenti con l'accesso ai comandi di debugging più comuni. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Vista degli strumenti Variabili</term>
<listitem>
<para
>Una vista degli strumenti dove vengono mostrati i contenuti delle variabili guardate. Appare nella barra di sinistra come impostazione predefinita. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Vista degli strumenti Punti di Interruzione</term>
<listitem>
<para
>Una vista degli strumenti dove sono elencati tutti i punti di interruzione, la riga e la selezione. Come impostazione predefinita appare nella barra dei pulsanti. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Vista degli strumenti di Output Debug</term>
<listitem>
<para
>Una vista degli strumenti dove viene mostrato l'output (come in HTML) del debugger. Come impostazione predefinita appare nella barra in basso. </para>
</listitem>
</varlistentry>

</variablelist>

<para
>In base a quale estensione supporta il debugger, tutti o un sottosistema delle seguenti funzionalità sarà disponibile. </para>



<variablelist>
<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Sessione</guimenuitem
> <guimenuitem
>Avvia Sessione</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Questa azione è usata per connettersi al debugger se questo viene richiesto, o dire all'estensione di avviare l'ascolto per le richieste di debug. Questa azione viene eseguita come impostazione predefinita quando viene aperto un progetto che usa un debugger, così in genere non hai bisogno di preoccupartene. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Sessione</guimenuitem
> <guimenuitem
>Chiudi Sessione</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>L'opposto di <menuchoice
> <guimenu
>Debug</guimenu
> <guimenuitem
>Sessione</guimenuitem
> <guimenuitem
>Avvia Sessione</guimenuitem
> </menuchoice
>. Chiude una connessione con il debugger o ferma l'ascolto per le richieste. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Esecuzione</guimenuitem
> <guimenuitem
>Invia richiesta HTTP</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Invia una richiesta HTTP al server per iniziare una richiesta di debug. Usare questa azione equivale a usare un browser per guardare il documento attuale. L'output della richiesta finisce nella barra di Output Debug. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Esecuzione</guimenuitem
> <guimenuitem
>Pausa</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Mette in pausa uno script in esecuzione </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Esecuzione</guimenuitem
> <guimenuitem
>Esegui</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Dice al debugger di avviare lo script e invia informazioni sulle variabili guardate e la riga corrente di esecuzione e procede da solo. Se questo viene fatto mentre uno script è in pausa, l'esecuzione procederà. Se viene fatto prima che la richiesta di debug sia iniziata, lo script inizierà l'esecuzione appena la richiesta viene inizializzata. </para>
</listitem>
</varlistentry>


<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Esecuzione</guimenuitem
> <guimenuitem
>Salta</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Dice al debugger di avviare lo script e senza inviare informazioni sulle variabili guardate e la riga corrente di esecuzione. Se questo viene fatto mentre uno script è in pausa, l'esecuzione procederà. Se viene fatto prima che la richiesta di debug sia iniziata, lo script inizierà a saltare appena la richiesta viene inizializzata. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Esecuzione</guimenuitem
> <guimenuitem
>Avanza</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Dice al debugger di eseguire la prossima istruzione nello script, senza saltare nelle funzioni o inclusioni. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Esecuzione</guimenuitem
> <guimenuitem
>Entra</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Dice al debugger di eseguire la prossima istruzione nello script, se possibile entrando nelle funzioni o inclusioni. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Esecuzione</guimenuitem
> <guimenuitem
>Esci</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Dice al debugger di eseguire fino a quando esce dalla funzione corrente. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Esecuzione</guimenuitem
> <guimenuitem
>Salta</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Dice al debugger di saltare la prossima istruzione e di procedere alla successiva come se quella corrente non esista. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Esecuzione</guimenuitem
> <guimenuitem
>Arresta</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Dice al debugger di arrestare l'attuale script in esecuzione. </para>
</listitem>
</varlistentry>


<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Punti di interruzione</guimenuitem
> <guimenuitem
>Interrompi quando...</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Apre una finestra di dialogo dove puoi specificare i punti di interruzione condizionali. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Punti di interruzione</guimenuitem
> <guimenuitem
>Cambia i punti di interruzione</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Cambia un punto di interruzione da una riga alla riga del cursore nella riga attuale </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Punti di interruzione</guimenuitem
> <guimenuitem
>Cancella i punti di interruzione</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Cancella tutti i punti di interruzione. </para>
</listitem>
</varlistentry>


<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Variabili</guimenuitem
> <guimenuitem
>Guarda la variabile</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Apre una finestra di dialogo dove puoi scrivere una variabile o espressione che vorresti guardare. L'osservazione apparirà nella vista strumenti delle variabili. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Variabili</guimenuitem
> <guimenuitem
>Imposta il valore della variabile</guimenuitem
> </menuchoice>
</term>
<listitem>
<para
>Apre una finestra di dialogo dove puoi scrivere una variabile e un suo nuovo valore. </para>
</listitem>
</varlistentry>



</variablelist>



</sect3>
</sect2>

<sect2 id="kxsldbg-debugging-3-2">
<title
>Usare &kxsl;, il Debugger &XSL;</title>

<para
>&kxsl; è la creazione di Keith Isdale, così come questa sezione della documentazione. &kxsl; è un'interfaccia per &kde; e una KPart per <command
>xsldbg</command
>, che puoi trovare su http://xsldbg.sf.net assieme a molti altri lavori di Keith. </para>

<para
>Per lanciare &kxsl;, seleziona <menuchoice
> <guimenu
>Estensioni</guimenu
> <guimenuitem
>&kxsl;</guimenuitem
> </menuchoice
>. </para>

<para
>Per favore, fai riferimento alla documentazione di &kxsl; per ulteriori informazioni riguardo al suo utilizzo. </para>
</sect2>
</sect1>
