Example Debug
# php вывести массив или объект на экран для дебага ###php ###debug echo '<pre>'; var_dump($count_result); echo '</pre>'; # php вывести массив или объект в файл для дебага ###php ###debug ###debug file_put_contents('/tmp/tmp.log',var_export($ticket_status,true), FILE_APPEND); # php отображать ошибки в файл и на экран на экран ###php ###error ###debug ###error_log error_reporting(E_ALL); // E_ALL && !E_WARNING ini_set('display_errors', 1); ini_set('log_errors', 1); ini_set('error_log', "/tmp/php-error.log"); # php отображать ошибки на экран ###php ###debug ###error ini_set('display_errors', true); ini_set('error_reporting', E_ALL & ~(E_STRICT|E_NOTICE)); ini_set('display_startup_errors', true); ini_set('report_memleaks', true); # Как поймать сокет ###debug ###socket ls -l /proc/27395/fd/ 3634137309 cat /proc/net/tcp | grep 3634137309 cat /proc/net/tcp | grep 0100007F:8A8F for d in /proc/[0-9]*; do ll $d/fd | grep 3634137308 && echo $d; done ps aux|grep 21838 # oprofile найти кто использует cpu какая функция ###debug ###oprofile yum install oprofile vi /etc/yum.repos.d/CentOS-Debuginfo enabled=1 yum -y install kernel-debuginfo mv /usr/lib/debug/lib/modules/2.6.32-642.1.1.el6.centos.plus.x86_64/ /usr/lib/debug/lib/modules/2.6.32-642.1.1.el6.x86_64/ echo /usr/lib/debug/lib/modules/`uname -r`/vmlinux # echo 0 > /proc/sys/kernel/nmi_watchdog opcontrol --deinit opcontrol --init opcontrol --reset opcontrol --start --vmlinux=/boot/vmlinux # но можно и без --no-vmlinux sleep 10 opcontrol --stop # если баг Failed to open profile device: Device or resource busy, то echo 1 > /proc/sys/kernel/nmi_watchdog, стопаем все KVM виртуалки, echo 0 > /proc/sys/kernel/nmi_watchdog # # отчет по подсистемам opreport opreport -d -l opreport -l -w -p /node/bin 2>&1| head -n 100 | grep flas # как найти проблему в ядре см nmi callstack в 4 версии softrouter ядра ищи аналог в 2.6 и или перенеси
~~OWNERAPPROVE~~
Обсуждение