Função para Debug no SC V9 - Rotinas com Ajax / Normal

As vezes tempos que Debugar variáveis e trechos do código no SC V9, e por causa do ajax ‘Aguarde Processando’ não conseguimos,
pegar com echo o valor da variável ou ver se o ‘código’ passou ali naquele pedaço, então fiz esta função, que grava um arquivo
de log com o debug, para ficar fácil analisar o mesmo e corrigir o código que esta com bug.

<?php
/*
Função para Gravar o Debug do código no SC, depois é
só ler o arquivo debug.txt na raiz do servidor.

$_Nome='Jose';
$_Idade=21;

$_Cores = array("red", "green", "blue", "yellow");


$_Debug[]='$_Nome = '.$_Nome;
$_Debug[]='$_Idade = '.$_Idade;
$_Debug[]=$_Cores;
$_Debug[]='Passou AQUI 01';  // Se quiser marcar flags de execução no código.

// Executa a Rotina até o fim coloque ele como última linha do seu código,
// caso não estiver gravando ou atualizando o arquivo debug.txt, vá
// realocando o DebugX($_Debug); para as linhas de cima no seu código.
DebugX($_Debug); 

// Caso quiser abortar a execução do código após pegar as varíaveis:
die(DebugX($_Debug)); 


*/

function DebugX($_Variaveis) {

    //Gravamos o arquivo
    $arq = fopen('c:\\IMPRESSOS\\debug.txt', 'wb');

    fwrite($arq, "Debug = ".date("d/m/Y H:i:s")."\r\n");
    fwrite($arq, "================================\r\n");

    foreach ($_Variaveis as $value) {
        if (is_array($value)) {
           ob_start();
           var_dump($value);
           $_var_dump = ob_get_clean();
           fwrite($arq, $_var_dump);
        } else {
           fwrite($arq, "$value \r\n");
        }
        fwrite($arq, "---------------------\r\n");
    }
    fwrite($arq, "================================\r\n");
    // Fechar o arquivo
    fclose($arq);

    return;

} // Fim da Função: DebugX($_Variaveis)
?>

Legal, Jailton.