Результаты поиска
Найдено результатов: 4
Есть ли готовые решения для построения дерева зависимостей между файлами?
Хотелось бы получить(json,ini, ассоциативный массив,xml- как угодно) дерево включения файлов(что-то вроде этого).
Задача может быть решена тремя путями:
- 1. перегрузкой стандартных конструкций
- 2. какими-то магическими параметрами в отладчике(xdebug торт, но полную информацию о зависимостях между файлами не даёт)
- 3. grep-ом и созданием альтернатив(вроде ov_include и ловля источника через debug_backtrace)
- 4. с помощью силы воли и глаз пройтись по всем файлам
Первый вариант требует вмешательство в интерпретатор и трудозатраты на актуализацию патча под новые версии php.
Второй мне неизвестен. На всякий случай, конфиг Xdebug:
zend_extension_ts="D:\PHP\ext\php_xdebug.dll"
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "D:\server\profiling\"
xdebug.trace_output_name = %t.%s.%H
xdebug.collect_params 1
xdebug.collect_return 1
xdebug.collect_vars 1
xdebug.default_enable 1
xdebug.show_mem_delta 1
php_flag xdebug.auto_trace 1
xdebug.trace_format 1
Третий классный и наверное самый простой, но с точки зрения производительности суровый(создали static списковый массив внутри функции, который проверяет не пытаемся ли мы зациклиться или включить уже имеющийся файл, обработать backtrace, записать результаты) когда много файлов.
Четвёртый для больших проектов не подойдет.
Зачем.
Сейчас джуниоров набираю, а документация для движка готова лишь на треть. Хочется на плоттере распечатать схему работы каждой страницы, чтобы ребятам не пришлось угадывать откуда и что.
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "D:\server\profiling\"
xdebug.trace_output_name = %t.%s.%H
xdebug.collect_params 1
xdebug.collect_return 1
xdebug.collect_vars 1
xdebug.default_enable 1
xdebug.show_mem_delta 1
php_flag xdebug.auto_trace 1
xdebug.trace_format 1
отладка UserJS (Greasemonkey)
подскажите пожалуйста, чем можно отлаживать greasemonkey-скрипты в firefox?
крайне желательно наличие breakpoints, watches
Отладка POST запросов, Mac
Каким инструментом под Mac лучше отлаживать скрипты, к которым передаются POST запросы (ибо GET и в браузере можно)?
Сейчас пишу маленькие скриптики на jQuery типа
$.ajax({
type: "POST",
url: "/add_something.php",
dataType: 'json',
data: {'id' : '1', 'foo' : 'bar'},
success: function(data) {
console.log(data);
}
});
</code>
и запускаю в FireBug.
$.ajax({
type: "POST",
url: "/add_something.php",
dataType: 'json',
data: {'id' : '1', 'foo' : 'bar'},
success: function(data) {
console.log(data);
}
});
</code>
и запускаю в FireBug.
Проблема с отладкой консольных приложений в Qt Creator
Создаю простейшее консольное приложение в Qt Creator:
#include <iostream>
int main(int argc, char *argv[])
{
int n;
std::cin >> n;
return 0;
}
Ставлю брейкпоинт на строчку с std::cin. Запускаю отладку по F5. Убедившись, что отладчик остановился на указанной строке, нажимаю F10. После этого ничего не происходит, а в консоли приложения можно увидеть следующее сообщение: &«warning: GDB: Failed to set controlling terminal: Invalid argument\n». При попытке прервать отладку, вылезает окно с ошибкой: «Процесс gdb неожиданно завершился (авариный выход)». При последующих попытках запуска отладки появляются следующие ошибки: «The program is not being run», а при завершении отладки: «Возникла ошибка при отправке данных процессу Gdb. Например, процесс может уже не работать или он мог закрыть свой входной канал». При всех этих манипуляциях, отлаживаемый процесс продолжает висеть в списке процессов. Проблема наблюдается в 32-битных Ubuntu 10.10 и Windows 7. При разработке UI приложений такой проблемы нет.
Подскажите, пожалуйста, что это может быть и как с этим бороться?
#include <iostream>
int main(int argc, char *argv[])
{
int n;
std::cin >> n;
return 0;
}