Nasıl PHP derlerim?

oy
405

Nasıl hata ayıklama yapmak PHP komut?

Böyle Hata Raporlama kullanma gibi temel ayıklama farkındayım. Içinde durma noktası PHPEclipse de oldukça kullanışlıdır.

Ne iyi PhpStorm veya başka bir IDE hata ayıklama yolu (hızlı ve kolay açısından)?

Oluştur 04/08/2008 saat 00:18
kaynak kullanıcı
Diğer dillerde...                            


30 cevaplar

oy
145

Deneyin Eclipse PDT kurulumu Bahsettiğiniz gibi özellikleri ayıklama olan bir Eclipse ortamı. Koduna adım kabiliyeti sonra var_dump eski yöntem hata ayıklama ve akış yanlış nereye gittiğini görmek için çeşitli noktalarda yazdırmak için çok daha iyi bir yoldur. Bütün bunlardan olsa başarısız olur ve bütün param hala SSH ve vim olduğunda var_dump()/ die()kod güney nereye gittiğini bulmak için.

Cevap 04/08/2008 saat 00:28
kaynak kullanıcı

oy
80

Sen FirePHP kullandığım bir eklenti kundakçı için hata ayıklama php javascript ile aynı ortamda olabilir.

Ben de kullanmak Xdebug php profilleme için daha önce bahsedilen.

Cevap 05/08/2008 saat 18:22
kaynak kullanıcı

oy
38

Bu benim küçük hata ayıklama ortamıdır:

error_reporting(-1);
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_BAIL, 0);
assert_options(ASSERT_QUIET_EVAL, 0);
assert_options(ASSERT_CALLBACK, 'assert_callcack');
set_error_handler('error_handler');
set_exception_handler('exception_handler');
register_shutdown_function('shutdown_handler');

function assert_callcack($file, $line, $message) {
    throw new Customizable_Exception($message, null, $file, $line);
}

function error_handler($errno, $error, $file, $line, $vars) {
    if ($errno === 0 || ($errno & error_reporting()) === 0) {
        return;
    }

    throw new Customizable_Exception($error, $errno, $file, $line);
}

function exception_handler(Exception $e) {
    // Do what ever!
    echo '<pre>', print_r($e, true), '</pre>';
    exit;
}

function shutdown_handler() {
    try {
        if (null !== $error = error_get_last()) {
            throw new Customizable_Exception($error['message'], $error['type'], $error['file'], $error['line']);
        }
    } catch (Exception $e) {
        exception_handler($e);
    }
}

class Customizable_Exception extends Exception {
    public function __construct($message = null, $code = null, $file = null, $line = null) {
        if ($code === null) {
            parent::__construct($message);
        } else {
            parent::__construct($message, $code);
        }
        if ($file !== null) {
            $this->file = $file;
        }
        if ($line !== null) {
            $this->line = $line;
        }
    }
}
Cevap 29/06/2009 saat 14:40
kaynak kullanıcı

oy
32

Xdebug ve hafif şeyler için ağır hata avcılık Notepad DBGp eklentisi ++, FirePHP. Hızlı ve kirli? Hiçbir şey yener dBug .

Cevap 15/09/2008 saat 21:23
kaynak kullanıcı

oy
26

XDebug gelişimi için çok önemlidir. Başka uzantısı önce yükleyin. Size herhangi bir hata yığın izleri ve kolayca profil etkinleştirebilirsiniz verir.

Bir veri yapısı kullanım hızlı bir görünüm için var_dump(). Kullanmayın print_r()sen onu çevreleyen gerekecek çünkü <pre>ve sadece bir defada bir Var yazdırır.

<?php var_dump(__FILE__, __LINE__, $_REQUEST); ?>

Gerçek bir hata ayıklama ortamında İçin buldum en iyisidir Komodo IDE ama $$ maliyeti.

Cevap 22/08/2008 saat 16:43
kaynak kullanıcı

oy
19

PhpED gerçekten iyidir. Sen / aşkın / çıkış fonksiyonlarının içine adım atabilirsiniz. Sen, ad-hoc kod çalıştırmasına değişkenleri, değişim değişkenleri kontrol edilebilmektedir. Bu şaşırtıcı.

Cevap 05/02/2009 saat 10:16
kaynak kullanıcı

oy
17

1) print_r () kullanın. TextMate, ben bu şekilde genişler 'öncesi' için bir pasaj vardır:

echo "<pre>";
print_r();
echo "</pre>";

2) Xdebug kullanıyorum ancak benim Mac üzerinde hakkı çalışmak için GUI almanız mümkün olmamıştır. En az yığın izleme okunabilir bir versiyonunu basar.

Cevap 07/08/2008 saat 01:25
kaynak kullanıcı

oy
16

Açıkçası, baskı ve print_r () bir kombinasyonu değişkenlerini yazdırmak için. Birçok diğer daha gelişmiş yöntemler kullanmayı tercih ama kullanmak için bu kolay bulmak biliyoruz.

Ben Uni bazı Mikroişlemci programlama yaptım ve hatta bu kullanmak mümkün değildi kadar ben tam bu takdir etmedi diyecekler.

Cevap 04/08/2008 saat 22:28
kaynak kullanıcı

oy
16

Kullandığım Zend Studio (5.5) ile birlikte, Zend platform . Yani, uygun hata ayıklama verir rağmen bir fiyata vs. kodu içinde adım / sınır değerler.

Cevap 04/08/2008 saat 00:20
kaynak kullanıcı

oy
14

Xdebug , Derick Rethans tarafından, çok iyidir. Bir süre önce kullanmış ve kurulumu çok kolay değildi bulundu. İşiniz bittiğinde, sen :-) onsuz yönetilen nasıl anlamayacaktır

Üzerinde iyi bir makale vardır Zend Geliştirici Bölgesinde ve hatta bir (Linux üzerinde yükleme daha kolay görünmüyor) Firefox eklentisi ben hiç kullanmadım.

Cevap 04/08/2008 saat 22:07
kaynak kullanıcı

oy
11

Ben xdebug ile NetBeans kullanmak Kolay XDebug FireFox Add-on

Eğer MVC projeleri hata ayıklama XDebug Netbeans çalışır normal yolla url yoluyla dbug oturumu kaydetmek çünkü eklenti, esastır. > Çalıştır Configuratuion - -> Gelişmiş ve Artık mola noktaları ayarlayabilirsiniz "Açık Değil Web Tarayıcısı yapın" seçin ve her zamanki gibi Ctrl-F5 ile ayıklama oturumu başlatmak eklenti FireFox'ta yüklü ile, NetBeans proje özelliklerini belirleyecek . Açık FireFox ve sağ tıklama kesme noktaları için izlemeye başlamak için sağ alt köşedeki Eklenti simgesinin. Kod kesme eriştiğinde o duracak ve size değişken durumları incelemek ve çağrı yığını olabilir.

Cevap 09/07/2010 saat 04:14
kaynak kullanıcı

oy
11

Ben xdebug ile NetBeans kullanın. Bunu nasıl yapılandırılacağı ile ilgili dokümanlar için kendi web sitesinde adresten kontrol edin. http://php.netbeans.org/

Cevap 26/08/2008 saat 16:04
kaynak kullanıcı

oy
10

Eğer altüst çıktı istemiyorsanız eğer Çıktı tamponlama çok yararlıdır. Ben / iradesiyle yorumsuz yorum yapabilirsiniz tek astar bunu

 ob_start();var_dump(); user_error(ob_get_contents()); ob_get_clean();
Cevap 22/10/2008 saat 10:16
kaynak kullanıcı

oy
9

Phpedit) (a debugger inşa, ama genellikle yankı kullanarak sonuna gelmiştir; ve print_r (); eski moda yolu !!

Cevap 17/09/2008 saat 11:14
kaynak kullanıcı

oy
8

Gerçekten cesur sorunlar için benim IDE (PhpED) ayıklama özelliğini kullanmak anlamaya print_r / eko kullanmak tüketen çok zaman olacağını. Ben kullandım diğer IDE aksine, PhpED hemen hemen hiçbir kurulum gerektirir. Ben karşılaştığınız sorunlar için bunu kullanmıyorum tek sebebi olmasıdır acı yavaş. Ben yavaşlık PhpED veya herhangi php ayıklayıcıya özgü olduğundan emin değilim. PhpED özgür değildir ama yine de (daha önce bahsedildiği xdebug gibi) açık kaynak debugger'lar birini kullanır inanıyoruz. PhpED ile fayda, yine, geçmişte gerçekten çok sıkıcı bulduk hiçbir kurulum gerektirir olmasıdır.

Cevap 22/08/2008 saat 16:33
kaynak kullanıcı

oy
4

Manuel ayıklama genellikle çabuk benim için - var_dump()ve debug_print_backtrace()sen ile mantık kol için gereken tüm araçlardır.

Cevap 22/08/2008 saat 16:36
kaynak kullanıcı

oy
3

Raylar mümkün olmadığı durumlarda sık sık CakePHP'yi kullanın. Hataları hata ayıklamak için genellikle bulmak error.logkomutuyla terminalde tmp klasörü ve kuyruk onu içinde ...

tail -f app/tmp/logs/error.log

Bu size kullanabilirsiniz ortası koduna çıkış şey istiyorsanız, oldukça kullanışlı olan ne olup bittiğini kek dialog'u yönetiyor verir.

$this->log('xxxx');

Bu genellikle size / yanlış ne olup bittiğini iyi bir fikir verebilir.

Cevap 10/05/2010 saat 10:29
kaynak kullanıcı

oy
3

Eh, bir dereceye kadar bu işler güney nereye bağlıdır. Ben izole etmeye ilk şey, sonra ben gerektiği gibi yankı / print_r () kullanacağız.

Not: Sizler ikinci argüman (print_r olarak true geçebilir biliyorum) ve yazdırmadan çıktısını yerine dönersiniz? Örneğin:

echo "<pre>".print_r($var, true)."</pre>";
Cevap 18/09/2008 saat 04:17
kaynak kullanıcı

oy
2

kodlama yaparken sayısız saat kaydedebilirsiniz birçok PHP hata ayıklama tekniği vardır. Etkili ama temel ayıklama tekniği basitçe hata raporlama açmaktır. Başka Biraz daha gelişmiş bir teknik aslında ekrana neler olduğunu göstererek daha zor böcek belirlemekte yardımcı olabilir baskı ifadeleri, kullanmayı gerektirir. PHPEclipse Eclipse plug-in ortak sözdizimi hataları vurgulamak ve kesme noktası ayarlamak için bir hata ayıklayıcı ile bağlantılı olarak kullanılabilir olan.

display_errors = Off
error_reporting = E_ALL 
display_errors = On

ve aynı zamanda kullanılan

error_log();
console_log();
Cevap 01/10/2015 saat 11:16
kaynak kullanıcı

oy
2

Nusphere da php için iyi bir ayıklama aracıdır NuSphere

Cevap 29/05/2012 saat 13:43
kaynak kullanıcı

oy
2

Komodo IDE bile remore hata ayıklama için, Xdebug ile iyi çalışır. Bu konfigürasyonun asgari miktar ihtiyacı var. Tek ihtiyacınız Komodo kesme noktası adım kodu ile yerel olarak kullanabilirsiniz php bir sürümüdür. Eğer komut komodo projeye alınmadan varsa, o zaman bir java programı hata ayıklama için Tutulma içine kuracak sadece nasıl bir fare tıklaması ile kesme noktaları ayarlayabilirsiniz. Uzaktan hata ayıklama Eğer bir MAC veya Linux masaüstünde ise yapılandırmak için oldukça kolaydır yerel bir hata ayıklama kurulum daha (eğer çalışma alanında bir php script ile uzaktan url haritaya sahip olabilir) düzgün işe gitmek için açıkçası daha karmaşıktır .

Cevap 22/08/2008 saat 16:44
kaynak kullanıcı

oy
2

print_r (debug_backtrace ());

ya da böyle bir şey :-)

Cevap 04/08/2008 saat 00:32
kaynak kullanıcı

oy
1

PHP DBG

Etkileşimli gezinimi PHP Debugger Kodunuzun işlevselliğini veya performansını etkilemeden size çevre üzerinde tam kontrol sağlamak verebilir bir SAPI modülü olarak uygulanır. Bu, güçlü, hafif, kolay PHP ayıklama platformu kullanmak 5.4+ ve PHP 5.6 ile out-of-box sevk edildi olmayı hedeflemektedir.

Özellikleri içerir:

  • gezinimi Hata ayıklama
  • Esnek Breakpoints (Sınıf Yöntemi, Fonksiyon, Dosya: Çizgi, Adresi, Opcode)
  • Yerleşik eval ile PHP Kolay Erişim ()
  • Şu kod çalıştırılıyor Kolay Erişim
  • Userland API
  • SAPI Agnostik - Kolay Entegre
  • PHP Yapılandırma Dosyası Desteği
  • JIT Süper Globaller - Kendi Set !!
  • Opsiyonel taleb Destek - Rahat Terminal Operasyon
  • Uzaktan hata ayıklama Destek - Birlikte Java GUI
  • Kolay operasyon

Ekran bakın:

PHP DBG - gezinimi hata ayıklama - ekran görüntüsü

PHP DBG - gezinimi hata ayıklama - ekran görüntüsü

Ana sayfa: http://phpdbg.com/

PHP Hata - PHP için daha iyi hata raporlama

Bu PHP komut hata ayıklamak için kütüphane (aslında bir dosya) kullanımı çok kolaydır.

Yapmanız gereken tek şey (kodunuzu başında) aşağıdaki gibi bir dosya dahil etmektir:

require('php_error.php');
\php_error\reportErrors();

Sonra bütün hataları, vb Örneğin backtrace, kod bağlamda, fonksiyon argümanları, sunucu değişkenleri olarak size bilgi verecektir:

PHP Hata |  PHP Hata Raporlama geliştirin - backtrace ekran görüntüsünü PHP Hata |  PHP Hata Raporlama geliştirin - backtrace ekran görüntüsünü PHP Hata |  PHP Hata Raporlama geliştirin - backtrace ekran görüntüsünü

Özellikler şunlardır:

  • kullanmak için önemsiz, sadece bir dosya var
  • Normal ve ajaxy istekleri için tarayıcıda görüntülenen hatalar
  • AJAX istekleri Otomatik olarak yeniden çalışmasını sağlayan, duraklatılma
  • mümkün olduğunca sıkı (kod kalitesini teşvik eder ve performansını geliştirme eğilimindedir) gibi hatalar yapar
  • Bütün yığın izleme boyunca kod parçacıkları
  • (Tam işlev imzalar gibi) daha fazla bilgi sağlar
  • sadece düz yanlış bazı hata mesajları giderir
  • dizim
  • güzel görünüyor!
  • özelleştirme
  • elle açılıp çevirin
  • Hata raporlama olmaksızın belirli bölümler çalıştırmak
  • Eğer yığın izleme kodu vurgulama önlemek için izin dosyaları görmezden
  • Uygulama dosyaları; Bu bir hata grev önceliklidir!

Ana sayfa: http://phperror.net/

GitHub: https://github.com/JosephLenton/PHP-Error

(Ekstra düzeltmelerle) Benim çatal: https://github.com/kenorb-contrib/PHP-Error

DTrace

Sisteminiz destekliyorsa DTrace dinamik izleme (OS X üzerinde varsayılan olarak yüklü) ve PHP etkin DTrace sondaları (derlendi --enable-dtracevarsayılan olarak olmalıdır) bu komut zamanla ayıklama PHP komut size yardımcı olabilir:

sudo dtrace -qn 'php*:::function-entry { printf("%Y: PHP function-entry:\t%s%s%s() in %s:%d\n", walltimestamp, copyinstr(arg3), copyinstr(arg4), copyinstr(arg0), basename(copyinstr(arg1)), (int)arg2); }'

Yani verilen aşağıdaki takma senin içine eklendi rc dosyaları (örn ~/.bashrc, ~/.bash_aliases):

alias trace-php='sudo dtrace -qn "php*:::function-entry { printf(\"%Y: PHP function-entry:\t%s%s%s() in %s:%d\n\", walltimestamp, copyinstr(arg3), copyinstr(arg4), copyinstr(arg0), basename(copyinstr(arg1)), (int)arg2); }"'

Eğer hatırlaması kolay takma adla komut iz olabilir: trace-php.

İşte daha gelişmiş DTrace komut sadece içine kaydetmek vardır dtruss-php.d(çalıştırılabilir hale, chmod +x dtruss-php.d) ve çalıştırın:

#!/usr/sbin/dtrace -Zs
# See: https://github.com/kenorb/dtruss-lamp/blob/master/dtruss-php.d

#pragma D option quiet

php*:::compile-file-entry
{
    printf("%Y: PHP compile-file-entry:\t%s (%s)\n", walltimestamp, basename(copyinstr(arg0)), copyinstr(arg1));
}

php*:::compile-file-return
{
    printf("%Y: PHP compile-file-return:\t%s (%s)\n", walltimestamp, basename(copyinstr(arg0)), basename(copyinstr(arg1)));
}

php*:::error
{
    printf("%Y: PHP error message:\t%s in %s:%d\n", walltimestamp, copyinstr(arg0), basename(copyinstr(arg1)), (int)arg2);
}

php*:::exception-caught
{
    printf("%Y: PHP exception-caught:\t%s\n", walltimestamp, copyinstr(arg0));
}

php*:::exception-thrown
{
    printf("%Y: PHP exception-thrown:\t%s\n", walltimestamp, copyinstr(arg0));
}

php*:::execute-entry
{
    printf("%Y: PHP execute-entry:\t%s:%d\n", walltimestamp, basename(copyinstr(arg0)), (int)arg1);
}

php*:::execute-return
{
    printf("%Y: PHP execute-return:\t%s:%d\n", walltimestamp, basename(copyinstr(arg0)), (int)arg1);
}

php*:::function-entry
{
    printf("%Y: PHP function-entry:\t%s%s%s() in %s:%d\n", walltimestamp, copyinstr(arg3), copyinstr(arg4), copyinstr(arg0), basename(copyinstr(arg1)), (int)arg2);
}

php*:::function-return
{
    printf("%Y: PHP function-return:\t%s%s%s() in %s:%d\n", walltimestamp, copyinstr(arg3), copyinstr(arg4), copyinstr(arg0), basename(copyinstr(arg1)), (int)arg2);
}

php*:::request-shutdown
{
    printf("%Y: PHP request-shutdown:\t%s at %s via %s\n", walltimestamp, basename(copyinstr(arg0)), copyinstr(arg1), copyinstr(arg2));
}

php*:::request-startup
{
    printf("%Y, PHP request-startup:\t%s at %s via %s\n", walltimestamp, basename(copyinstr(arg0)), copyinstr(arg1), copyinstr(arg2));
}

Ana sayfa: dtruss-lamba GitHub'dan de

Burada basit kullanım şöyledir:

  1. Çalıştırın: sudo dtruss-php.d.
  2. Başka bir terminal dönemde üzerinde: php -r "phpinfo();".

Bu test etmek için, herhangi bir DOCROOT gidebilir index.phpve PHP yerleşik sunucu çalıştırın:

php -S localhost:8080

Bundan sonra siteyi erişebilirsiniz http: // localhost: 8080 / (veya sizin için uygun olan her türlü liman seçin). Oradan iz çıktısını görmek için bazı sayfalara erişmek.

Not: Dtrace, varsayılan olarak OS X üzerinde kullanılabilir Linux üzerinde muhtemelen gerek dtrace4linux veya başka kontrol alternatifleri .

Bkz: PHP ve DTrace kullanma at php.net


SystemTap'ı

Alternatif SystemTap'ı SDT geliştirme paketi (örn yükleyerek SystemTap'ı izleme için kontrol yum install systemtap-sdt-devel).

İşte örnek komut dosyası (olan all_probes.stpSystemTap'ı ile çalışan bir PHP script süresi boyunca tüm temel PHP statik sonda noktaları izleme için):

probe process("sapi/cli/php").provider("php").mark("compile__file__entry") {
    printf("Probe compile__file__entry\n");
    printf("  compile_file %s\n", user_string($arg1));
    printf("  compile_file_translated %s\n", user_string($arg2));
}
probe process("sapi/cli/php").provider("php").mark("compile__file__return") {
    printf("Probe compile__file__return\n");
    printf("  compile_file %s\n", user_string($arg1));
    printf("  compile_file_translated %s\n", user_string($arg2));
}
probe process("sapi/cli/php").provider("php").mark("error") {
    printf("Probe error\n");
    printf("  errormsg %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
}
probe process("sapi/cli/php").provider("php").mark("exception__caught") {
    printf("Probe exception__caught\n");
    printf("  classname %s\n", user_string($arg1));
}
probe process("sapi/cli/php").provider("php").mark("exception__thrown") {
    printf("Probe exception__thrown\n");
    printf("  classname %s\n", user_string($arg1));
}
probe process("sapi/cli/php").provider("php").mark("execute__entry") {
    printf("Probe execute__entry\n");
    printf("  request_file %s\n", user_string($arg1));
    printf("  lineno %d\n", $arg2);
}
probe process("sapi/cli/php").provider("php").mark("execute__return") {
    printf("Probe execute__return\n");
    printf("  request_file %s\n", user_string($arg1));
    printf("  lineno %d\n", $arg2);
}
probe process("sapi/cli/php").provider("php").mark("function__entry") {
    printf("Probe function__entry\n");
    printf("  function_name %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
    printf("  classname %s\n", user_string($arg4));
    printf("  scope %s\n", user_string($arg5));
}
probe process("sapi/cli/php").provider("php").mark("function__return") {
    printf("Probe function__return: %s\n", user_string($arg1));
    printf(" function_name %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
    printf("  classname %s\n", user_string($arg4));
    printf("  scope %s\n", user_string($arg5));
}
probe process("sapi/cli/php").provider("php").mark("request__shutdown") {
    printf("Probe request__shutdown\n");
    printf("  file %s\n", user_string($arg1));
    printf("  request_uri %s\n", user_string($arg2));
    printf("  request_method %s\n", user_string($arg3));
}
probe process("sapi/cli/php").provider("php").mark("request__startup") {
    printf("Probe request__startup\n");
    printf("  file %s\n", user_string($arg1));
    printf("  request_uri %s\n", user_string($arg2));
    printf("  request_method %s\n", user_string($arg3));
}

Kullanımı:

stap -c 'sapi/cli/php test.php' all_probes.stp

Bkz: PHP DTrace Statik Probları SystemTap'ı kullanma at php.net

Cevap 21/03/2016 saat 12:34
kaynak kullanıcı

oy
1

Hataların çoğu basitçe kolayca bulunabilir var_dumpanahtar değişkenlerin bazıları ing ama açıkçası geliştireceğiniz uygulamanın ne tür bağlıdır.

Daha karmaşık bir algoritma için adım / kesme noktası / watch fonksiyonlardır çok yararlı (eğer gerekli değil)

Cevap 10/05/2010 saat 10:18
kaynak kullanıcı

oy
1

i debugger inşa ile Tutulma için zend stüdyo kullanın. Onun hala yavaş Xdebug ile Eclipse PDT ile hata ayıklama ile karşılaştırıldığında. Umarım onlar bu sorunları çözecektir, hız son sürüm boyunca iyileşmiştir ama hala şeye adım 2-3 saniye sürer. zend firefox araç gerçekten şeyler kolay (hata ayıklama sonraki sayfa, geçerli sayfa, vb) yapar. Ayrıca kriter vb kodunu ve pasta-grafikler, yürütme zamanı, irade bir profil oluşturucu sağlar

Cevap 17/08/2008 saat 19:38
kaynak kullanıcı

oy
1

Bir üretim ortamında, ben error_log ile sunucunun hata günlüğüne () İlgili verilerin log.

Cevap 15/08/2008 saat 05:23
kaynak kullanıcı

oy
1

print_r +1 (). Bir nesnenin veya değişkenin içeriğini dökümü için kullanın. Kaynağı görüntülediğinizde gerekmez böylece daha okunabilir hale getirmek için, bir ön etiketi ile bunu.

echo '<pre>';
print_r($arrayOrObject);

Bu subthings türünü görmek için çok yararlıdır - Ayrıca ($ şey) var_dump

Cevap 05/08/2008 saat 01:49
kaynak kullanıcı

oy
0

Genellikle ortak bir altbilgisindeki sonunda yeniden baskı dosyası, mağaza ayıklama bilgi tasarruf ve mümkün bir özel günlük işlevi oluşturmak bulabilirsiniz.

ayıklama bu tip yarı otomatik olduğunu, böylece de, ortak İstisna sınıfını geçersiz kılabilir.

Cevap 22/10/2008 saat 09:46
kaynak kullanıcı

oy
0

kod boyunca adım gibi değişken değişim değerlerini izleyebilirsiniz entegre debugger'lar gerçekten harika. Bununla birlikte, sunucu ve istemci üzerinde konfigürasyon belli bir miktar üzerinde yazılım kurulumunu gerektirir. bunların ikisi de iyi çalışır durumda tutmak için periyodik bakım gerektirir.

Bir print_r yazmak kolaydır ve herhangi bir kurulum çalışması garanti edilir.

Cevap 22/08/2008 saat 21:10
kaynak kullanıcı

oy
0

Yankı testler ile karışık ben error_reporting (E_ALL) bir arada gibi Soruna bağlı (hata unsettling oldu dosyasını / kusurlu çizgisini bulmak için, siz her zaman hat / dosya php doğru söyler değil BİLİYOR?), IDE ayracı eşleştirme ) (ve print_r;: ( "yazım hatası, beklenmedik $ ucunu Ayrıştırma hatası" sorunları çözmek için) çıkış; dökümleri (s, gerçek programcılar kaynak görünümü).

Ayrıca ile phpdebug (sourceforge kontrol edin) yenemezsin "memory_get_usage ();" ve "memory_get_peak_usage ();" sorunlu alanları bulmak için.

Cevap 06/08/2008 saat 16:46
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more