Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Debug_HackerConsole: "хакерская консоль" для вывода отладочных сообщений. (Дмитрий Котеров)
Author Message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Fri Jun 24, 2005 12:48 pm (написано за 3 минуты 3 секунды)
   Post subject: Debug_HackerConsole: "хакерская консоль" для вывода отладочных сообщений.
Reply with quote

Класс, позволяющий удобно выводить отладочные сообщения некоторого сайта, не захламляя при этом логи и окно браузера. Представляет собой скрываемую "выпрыгивающую" консоль (JavaScript), плюс - библиотека поддержки со стороны PHP. В консоль удобно выводить, например, лог выполненных SQL-запросов.

Все исходники и демонстрация тут:
dklab.ru/lib/Debug_HackerConsole/demo/
Может быть, потом будет набла.

На этом форуме используется старая версия того же кода, активируется по Shift+Ctrl+` (тильда).

Пример использования:
Code (php): скопировать код в буфер обмена
<?php
include_once "../../lib/config.php";
require_once "Debug/HackerConsole/Main.php";

new Debug_HackerConsole_Main(true);

// String values.
for ($i=0; $i<10; $i++) {
        $spaces = str_repeat (www.php.net/str_repeat)(' ', $i);
        Debug_HackerConsole_Main::out("$spaces\ti=$i", "Counting", "#008800");
}

// Default group.
Debug_HackerConsole_Main::out("Usual message");

// Dump random structure.
Debug_HackerConsole_Main::out($_SERVER, "Input");
?>
<html>
<body>
This is the test page with any text.<br>
Press Shift+Ctrl+` (tilde) to toggle the console.<br>
Move mouse to console message to see its generator context (file (www.php.net/file), line, function name).
</body>
</html>


Last edited by Дмитрий Котеров on Fri Sep 02, 2005 12:39 pm; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Sat Jun 25, 2005 10:10 am (спустя 21 час 21 минуту; написано за 26 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
Move mouse to console message to see its generator context (file, line, function name).
Что-то не понял, как это пронаблюдать. Потыкался - но без толку.
Back to top
View user's profile Send private message
Иван Шумков
Участник форума



Joined: 30 Dec 2004
Posts: 229
Карма: 6
   поощрить/наказать

Location: Россия, Санкт-Петербург

PostPosted: Sat Jun 25, 2005 8:54 pm (спустя 10 часов 43 минуты; написано за 25 секунд)
   Post subject:
Reply with quote

Maus
Навидишь, ждешь, появляется подсказка с инфой.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sun Jun 26, 2005 1:47 pm (спустя 16 часов 53 минуты; написано за 50 секунд)
   Post subject:
Reply with quote

На самом деле, там, по-хорошему, надо еще устроить поддержку обработки croak[N], как в Debug_BacktraceDumper. И делать это через последний, чтобы не было дублирования кода. Видимо, потом сделаю.
Back to top
View user's profile Send private message Send e-mail
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Thu Sep 01, 2005 6:59 pm (спустя 2 месяца 5 дней 5 часов 12 минут; написано за 1 минуту 3 секунды)
   Post subject:
Reply with quote

Дмитрий Котеров
Вещь! Ловлю кайф последние пять часов, var_dump()+die() уходят в прошлое..
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Fri Sep 02, 2005 12:45 pm (спустя 17 часов 45 минут; написано за 5 минут)
   Post subject:
Reply with quote

Обалдеть. Ваш пост как раз совпал с моментом, когда я начал делать доработки в этой библиотеке! Буквально начал, потом захожу на форум, бац! - пост. Карма?

Вышла версия 1.00.
Тестирование: dklab.ru/lib/Debug_HackerConsole/demo/test/Debug_HackerConsole/ (открыть по Shift+Ctrl+` (tilde)).
Скачать: dklab.ru/lib/Debug_HackerConsole/demo.zip
Что нового по сравнению со старой версией:
- Теперь работает и в Операх (улучшена кроссбраузерность).
- Добавлена возможность указывать цвет в методе out.
- Консоль выезжает плавно.
- Теперь очень удобно делать Copy+Paste из консоли в текстовый редактор (или в ICQ): текст не едет, пробелы превращаются в пробелы, лишних переводов строк нет и т.д. Ни тэг <xmp>, ни <pre> этого делать не позволяют: первый съедает переносы строк при копировании, второй - наоборот, добавляет лишний \n в конец каждого блока. Пришлось делать вручную через &nbsp; и <br>.
- Корректное расширение табуляторов в пробелы.
- Собственная эмуляция print_r, позволяющий использовать консоль даже в обработчиках ob_start() (встроенный в PHP print_r там использовать нельзя, выдает ошибку).
Back to top
View user's profile Send private message Send e-mail
Евгений Галашин
Модератор



Joined: 29 Dec 2003
Posts: 1861
Карма: 31
   поощрить/наказать


PostPosted: Fri Sep 02, 2005 1:55 pm (спустя 1 час 10 минут; написано за 46 секунд)
   Post subject:
Reply with quote

Может я что-то не понимаю, но в Демо не работает "Move mouse to console message to see its generator context (file, line, function name).". В тултипе -- только "at line".
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Fri Sep 02, 2005 4:12 pm (спустя 2 часа 17 минут; написано за 25 секунд)
   Post subject:
Reply with quote

Евгений Галашин, вот что значит "обратная связь". Тут же баг нашли, который я сам не замечал уже кучу времени.
Исправил.
Back to top
View user's profile Send private message Send e-mail
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Fri Sep 02, 2005 5:02 pm (спустя 49 минут; написано за 1 минуту 12 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров
В FF всплывающий комментарий обрезается справа многоточием:
Quote:
at ~/lib/Debug_HackerConsole/demo/test/Debug_HackerConsole/t_console.php line ...
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Fri Sep 02, 2005 5:43 pm (спустя 41 минуту; написано за 59 секунд)
   Post subject:
Reply with quote

Ничего не могу с этим поделать - таков уж FF. Эмулировать подсказки через div-ы совершенно не хочется. Возможно, для FF есть соответствующий плугин?
Радует только то, что на большинстве сайтов пути будут короче, а потому влезут.
Back to top
View user's profile Send private message Send e-mail
Иван Шумков
Участник форума



Joined: 30 Dec 2004
Posts: 229
Карма: 6
   поощрить/наказать

Location: Россия, Санкт-Петербург

PostPosted: Fri Sep 02, 2005 8:33 pm (спустя 2 часа 49 минут; написано за 34 секунды)
   Post subject:
Reply with quote

Дмитрий Котеров
Есть плагин Popup Alt Attribute (piro.sakura.ne.jp/xul/_popupalt.html.en).
Back to top
View user's profile Send private message
Евгений Галашин
Модератор



Joined: 29 Dec 2003
Posts: 1861
Карма: 31
   поощрить/наказать


PostPosted: Fri Sep 02, 2005 8:33 pm (спустя 30 секунд; написано за 24 секунды)
   Post subject:
Reply with quote

Иван Шумков, не то. Совсем не то.
Back to top
View user's profile Send private message
-Den-
Участник форума



Joined: 10 Sep 2004
Posts: 253
Карма: 5
   поощрить/наказать

Location: З України

PostPosted: Fri Sep 02, 2005 10:34 pm (спустя 2 часа 1 минуту; написано за 48 секунд)
   Post subject:
Reply with quote

А можно ли сменить комбинацию клавиш для доступа к консоли?
Back to top
View user's profile Send private message Send e-mail
Евгений Галашин
Модератор



Joined: 29 Dec 2003
Posts: 1861
Карма: 31
   поощрить/наказать


PostPosted: Fri Sep 02, 2005 11:05 pm (спустя 30 минут; написано за 22 секунды)
   Post subject:
Reply with quote

-Den-, можно.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sat Sep 03, 2005 2:45 pm (спустя 15 часов 39 минут; написано за 1 минуту 18 секунд)
   Post subject:
Reply with quote

Это делается редактированием JavaScript-кода. К сожалению, универсально сделать не получится - кроссбраузерность не дает. Например, все работало в IE, FF и Opera7, а вот в Opera8 уже перестало работать - тильда сменила в ней свой код (непончтно почему). Пришлось специально дорабатывать для Opera8.
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sun Sep 04, 2005 9:17 pm (спустя 1 день 6 часов 32 минуты; написано за 21 секунду)
   Post subject:
Reply with quote

Написана статья:
dklab.ru/lib/Debug_HackerConsole/

Обсуждение продолжаем тут:
5 Debug_HackerConsole: «хакерская» консоль, упрощающая отладку сайтов (forum.dklab.ru/comments/lib/5Debug_hackerconsoleTheHackerConsoleSimplifyingDebuggingOfSites.html)
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sun Sep 04, 2005 9:18 pm (спустя 22 секунды)
   Post subject:
Reply with quote


М

Тема закрыта.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies. All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML