[XHR/PHP] Debugging

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Topicstarter
Zojuist heb ik een simpele manier van XHR (XMLHTTPRequest)-debugging geïmplementeerd. Maar ideaal is het niet, want het stuurt bij elke XHR een mail. Het werkt op basis van output buffering:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function callback($buffer) {
    
    $body = "Query string: ".$_SERVER['QUERY_STRING']."\n\n";
    $body .= $buffer;
    
    mail('me@example.com', 'XHR Debug', $body);
    return $buffer;
}

if(DEBUGAJAX) ob_start('callback');

[...] // hier alle logica, includes, etc.

if(DEBUGAJAX) ob_end_flush();

Nu krijg ik wel mooi alle output in mijn mail en zie ik dus snel waar de problemen zitten. Ik weet zo geen andere/betere manier om XHR-callbacks te debuggen. Een ander idee is misschien om deze output in een iFrame te zetten. Ik heb al wat rondgegoogled, maar niet echt iets gevonden. Hebben meer mensen hier ervaring mee en/of is hier een eenvoudige "best practice" voor? Ik ben benieuwd naar jullie tips en ervaringen :)

[ Voor 6% gewijzigd door X-Lars op 27-04-2006 10:55 ]


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Je kan het natuurlijk ook in een file schrijven :)

Overigens gebruikte ik voorheen altijd de firefox extensie "FireBug" waarmee je deze requests mooi kon zien. Helaas werkt die niet meer met 1.5.0.2

[ Voor 61% gewijzigd door Erkens op 27-04-2006 10:59 ]


Acties:
  • 0 Henk 'm!

  • jan-marten
  • Registratie: September 2000
  • Laatst online: 20:24
Om naar een file te schrijven kun je error_log (log type 3) gebruiken.

Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Topicstarter
Bedankt voor de replies. Wegschrijven naar een file wordt ook wel erg onoverzichtelijk. Dus de mogelijkheden so far zijn eigenlijk mail, file en iframe. En dan heeft natuurlijk iedereen zijn eigen voorkeur...

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

mwah, onoverzichtelijk lijkt mij wel meevallen. Zolang je je debug regels goed categoriseerd en van een leuke prefix voorziet hoeft het geen enkel probleem te zijn. Misschien is het een idee om eens naar Log4j te kijken. Dit is dan wel voor java, maar qua features kan het je misschien wel op leuke ideeen brengen.

Als je een linux server gebruikt kun je je bestand trouwens mooi volgen met tail -f bestandsnaam.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Bij xajax (php/ajax toolkit) krijg je een nieuw browservenster met debuginfo als je debugOn gebruikt, misschien kun je kijken hoe ze dat daar hebben gedaan. Het is een refreshend venster die alle requests en replies laat zien, niet perfect en zelfs irritant als je een timer gebruikt om callbacks te doen, maar handiger dan steeds een mailtje lijkt me.

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.

Pagina: 1