Я понимаю, что это может быть гораздо сложнее, но похоже, что происходит, когда вы переходите по коду.
Какую кнопку вы нажимаете?Кнопка Continue должна перейти к следующей точке останова.
Я взял это из: Отладка вашего PHP-кода: XDebug на MAMP с поддержкой TextMate и MacGDBp

Слева направо, кнопки:
Шагinto: Нажав на эту кнопку, вы продвинетесь в отладчике на один шаг и, если необходимо, перейдете «в» функцию, класс, файл и т. д. Повторно нажимая эту кнопку, вы можете проходить все части процесса.
Выйти: это будет двигаться вверх на уровень.Например, если вы находитесь на середине пути к функции и выходите из нее, отладчик переходит к следующей части кода, пропуская оставшуюся часть функции.
Step Over (Skip): это будетпропустить изучение следующего шага.Например, если текущая строка указывает на функцию, и вы не хотите, чтобы она выполнялась, вы можете пропустить ее с помощью этой кнопки.Нажатие этой кнопки просто приведет к следующей строке в текущей области.
Продолжить (воспроизведение): продолжить выполнение до следующей точки останова или до конца сценария.
Сброс: удалить текущуюотладка сеанса и ожидание следующего запроса от сервера.
С помощью этих кнопок вы можете перемещаться по выполнению скрипта.Несмотря на то, что это даст вам подробный пошаговый анализ программы во время ее выполнения, она часто может быть излишней.Чаще всего вам захочется проанализировать лишь небольшую часть вашего сценария.Лучше всего это сделать с помощью точек останова.
Точка останова - это маркер, который указывает отладчику приостановить работу при достижении местоположения.Используя точки останова, вы можете настроить отладчик для воспроизведения большей части кода, делая паузу только тогда, когда он достигает интересующей вас части.
РЕДАКТИРОВАТЬ: 26 февраля 2012 г.
Привет, Naatan,
Вы можете взглянуть на журналы xdebug, добавив эту строку в файл php.ini:
xdebug.remote_log=/var/log/xdebug/xdebug.log
Вы можете определить, отправляет ли MacGDBp какие-либо точки останова, и еслион посылает команду запуска или команду step_into.
Вот то, что я вижу для шести различных сценариев.Я удалил большую часть данных, так как они заняли много места, дайте мне знать, если вам нужно просмотреть данные для конкретной строки.
1) "BREAK ON FIRST LINE EXECUTION" = OFFИ НЕТ РАЗРЫВОВ
Log opened at 2012-02-26 22:27:47
-> <init
<- feature_set -i 2859 -n show_hidden -v 1
-> <response
<- feature_set -i 2860 -n max_depth -v 3
-> <response
<- feature_set -i 2861 -n max_children -v 30
-> <response
<- feature_get -i 2862 -n max_data
-> <response
<- eval -i 2863 --
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="2863"><property address=
<- run -i 2864
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="2864" status="stopping" reason="ok"></response>
2) «ПЕРЕРЫВ НА ПЕРВОЙ ЛИНИИ ИСПОЛНЕНИЯ» = ВКЛЮЧЕНО И НЕ ПЕРЕХОДОВ
Log opened at 2012-02-26 22:35:39
-> <init
<- feature_set -i 2913 -n show_hidden -v 1
-> <response
<- feature_set -i 2914 -n max_depth -v 3
-> <response
<- feature_set -i 2915 -n max_children -v 30
-> <response
<- feature_get -i 2916 -n max_data
-> <response
<- eval -i 2917 --
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="2917"><property address=
// 2a) STEP INTO CALLED BECAUSE "BREAK ON FIRST LINE OF EXECUTION" IS TURNED ON
<- step_into -i 2918
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="2918" status="break" reason="ok"><xdebug:message filename="file:///var/www/application/html/index.php" lineno="2"></xdebug:message></response>
<- stack_get -i 2919
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="2919"><stack where="{main}" level="0" type="file" filename="file:///var/www/application/html/index.php" lineno="2"></stack></response>
<- context_names -i 2920
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="2920"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context></response>
<- context_get -i 2921 -c 0
-> <response xmlns= // SHOWS "Locals" VARIABLES
<- context_get -i 2922 -c 1
-> <response xmlns= // SHOWS "Superglobals" VARIABLES
// 2b) CLICK CONTINUE
<- run -i 2923
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="2923" status="stopping" reason="ok"></response>
3) «ПЕРЕРЫВ НА ПЕРВОЙ ЛИНИИ ИСПОЛНЕНИЯ» = ВКЛ, С РАЗРЫВОМ НА ПЕРВОЙ ЛИНИИ
Log opened at 2012-02-26 22:41:56
-> <init
<- feature_set -i 2936 -n show_hidden -v 1
-> <response
<- feature_set -i 2937 -n max_depth -v 3
-> <response
<- feature_set -i 2938 -n max_children -v 30
-> <response
<- feature_get -i 2939 -n max_data
-> <response
// 3a) LISTS ALL BREAKPOINTS THAT ARE SET
<- breakpoint_set -i 2940 -t line -s enabled -f file:///var/www/application/html/index.php -n 2
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="2940" state="enabled" id="179940003"></response>
<- eval -i 2941 --
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="2941"><property address=
// 3b) STEP INTO CALLED BECAUSE "BREAK ON FIRST LINE OF EXECUTION" = ON
<- step_into -i 2942
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="2942" status="break" reason="ok"><xdebug:message filename="file:///var/www/application/html/index.php" lineno="2"></xdebug:message></response>
<- stack_get -i 2943
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="2943"><stack where="{main}" level="0" type="file" filename="file:///var/www/application/html/index.php" lineno="2"></stack></response>
<- context_names -i 2944
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="2944"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context></response>
<- context_get -i 2945 -c 0
-> <response xmlns= // SHOWS "Locals" VARIABLES
<- context_get -i 2946 -c 1
-> <response xmlns= // SHOWS "Superglobals" VARIABLES
// 3c) CLICK CONTINUE
<- run -i 2947
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="2949" status="stopping" reason="ok"></response>
4) «ПЕРЕРЫВ НА ПЕРВОЙ ЛИНИИ ИСПОЛНЕНИЯ» = ВКЛ, С РАЗРЫВОМ НА ЛИНИИ 10
Log opened at 2012-02-27 00:29:26
-> <init
<- feature_set -i 3023 -n show_hidden -v 1
-> <response
<- feature_set -i 3024 -n max_depth -v 3
-> <response
<- feature_set -i 3025 -n max_children -v 30
-> <response
<- feature_get -i 3026 -n max_data
-> <response
// 4a) LISTS ALL BREAKPOINTS THAT ARE SET
<- breakpoint_set -i 3027 -t line -s enabled -f file:///var/www/application/html/index.php -n 10
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="3027" state="enabled" id="180020001"></response>
<- eval -i 3028 --
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="3028"><property address=
// 4b) STEP INTO CALLED BECAUSE "BREAK ON FIRST LINE OF EXECUTION" = ON
<- step_into -i 3029
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="3029" status="break" reason="ok"><xdebug:message filename="file:///var/www/application/html/index.php" lineno="2"></xdebug:message></response>
<- stack_get -i 3030
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="3030"><stack where="{main}" level="0" type="file" filename="file:///var/www/application/html/index.php" lineno="2"></stack></response>
<- context_names -i 3031
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="3031"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context></response>
<- context_get -i 3032 -c 0
-> <response xmlns= // SHOWS "Locals" VARIABLES
<- context_get -i 3033 -c 1
-> <response xmlns= // SHOWS "Superglobals" VARIABLES
// 4c) CLICK CONTINUE - GOES TO BREAKPOINT ON LINE 10
<- run -i 3034
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="3034" status="break" reason="ok"><xdebug:message filename="file:///var/www/application/html/index.php" lineno="10"></xdebug:message></response>
<- stack_get -i 3035
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="3035"><stack where="{main}" level="0" type="file" filename="file:///var/www/application/html/index.php" lineno="10"></stack></response>
<- context_names -i 3036
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="3036"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context></response>
<- context_get -i 3037 -c 0
-> <response xmlns= // SHOWS "Locals" VARIABLES
<- context_get -i 3038 -c 1
-> <response xmlns= // SHOWS "Superglobals" VARIABLES
// 4d) CLICK CONTINUE
<- run -i 3039
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="2864" status="stopping" reason="ok"></response>
5) «ПЕРЕРЫВ НА ПЕРВОЙ ЛИНИИ ИСПОЛНЕНИЯ» = ВЫКЛ, С РАЗРЫВОМ НА ПЕРВОЙ ЛИНИИ
Log opened at 2012-02-26 22:49:46
-> <init
<- feature_set -i 2962 -n show_hidden -v 1
-> <response
<- feature_set -i 2963 -n max_depth -v 3
-> <response
<- feature_set -i 2964 -n max_children -v 30
-> <response
<- feature_get -i 2965 -n max_data
-> <response
// 5a) LISTS ALL BREAKPOINTS THAT ARE SET
<- breakpoint_set -i 2966 -t line -s enabled -f file:///var/www/application/html/index.php -n 2
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="2966" state="enabled" id="180160005"></response>
<- eval -i 2967 --
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="2967"><property address="140734566267920" type="string" size="77" encoding="base64"><![CDATA[aHR0cDovL2RldmVsb3BtZW50Lm1hcmluYXMuY29tL2luZGV4LnBocD9YREVCVUdfU0VTU0lPTl9TVEFSVD1uZXRiZWFucy14ZGVidWc=]]></property></response>
<- run -i 2968
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="2968" status="break" reason="ok"><xdebug:message filename="file:///var/www/application/html/index.php" lineno="2"></xdebug:message></response>
<- stack_get -i 2969
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="2969"><stack where="{main}" level="0" type="file" filename="file:///var/www/application/html/index.php" lineno="2"></stack></response>
<- context_names -i 2970
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="2970"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context></response>
<- context_get -i 2971 -c 0
-> <response xmlns= // SHOWS "Locals" VARIABLES
<- context_get -i 2972 -c 1
-> <response xmlns= // SHOWS "Superglobals" VARIABLES
// 5b) CLICK CONTINUE
<- run -i 2973
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="2973" status="stopping" reason="ok"></response>
6) «ПЕРЕРЫВ НА ПЕРВОЙ ЛИНИИ ИСПОЛНЕНИЯ» = ВЫКЛ, С РАЗРЫВОМ НА ЛИНИИ 10
Log opened at 2012-02-27 00:46:23
-> <init
<- feature_set -i 3052 -n show_hidden -v 1
-> <response
<- feature_set -i 3053 -n max_depth -v 3
-> <response
<- feature_set -i 3054 -n max_children -v 30
-> <response
<- feature_get -i 3055 -n max_data
-> <response
// 6a) LISTS ALL BREAKPOINTS THAT ARE SET
<- breakpoint_set -i 3056 -t line -s enabled -f file:///var/www/application/html/index.php -n 10
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="3056" state="enabled" id="179990006"></response>
<- eval -i 3057 --
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="3057"><property address="140734566267920" type="string" size="77" encoding="base64"><![CDATA[aHR0cDovL2RldmVsb3BtZW50Lm1hcmluYXMuY29tL2luZGV4LnBocD9YREVCVUdfU0VTU0lPTl9TVEFSVD1uZXRiZWFucy14ZGVidWc=]]></property></response>
<- run -i 3058
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="3058" status="break" reason="ok"><xdebug:message filename="file:///var/www/application/html/index.php" lineno="10"></xdebug:message></response>
<- stack_get -i 3059
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="3059"><stack where="{main}" level="0" type="file" filename="file:///var/www/application/html/index.php" lineno="10"></stack></response>
<- context_names -i 3060
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="3060"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context></response>
<- context_get -i 3061 -c 0
-> <response xmlns= // SHOWS "Locals" VARIABLES
<- context_get -i 3062 -c 1
-> <response xmlns= // SHOWS "Superglobals" VARIABLES
// 6b) CLICK CONTINUE
<- run -i 3063
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="3063" status="stopping" reason="ok"></response>
Будь здоров,Джо