Setting Xdebug breakpoints solely in command line

前端 未结 1 1665
盖世英雄少女心
盖世英雄少女心 2021-01-03 06:02

I\'m struggling with a PHP maintenance script and I was looking for a way to use xdebug solely in command line (like gdb old-school), but I couldn\'t figure out how to set a

相关标签:
1条回答
  • This is actually possible. In the Xdebug source downloads, you will find a directory called "debugclient". In this directory you will find a very simple client accepting raw DBGP commands, and giving output as XML. To compile, you run:

    • apt-get install libedit-dev (or equivalent)
    • ./buildconf
    • ./configure --with-libedit
    • make

    You can then run the binary with ./debugclient.

    On a different shell, you then run the following:

    • export XDEBUG_CONFIG="idekey=dr"
    • php -dxdebug.remote_enable=1 yourscript.php

    The debugclient sees this connection, and you then can issue direct DBGP commands. For a breakpoint, you can for example set:

    breakpoint_set -i 1 -t line -f file:///path/to/yourscript.php -n 42

    the -i 1 is required to be an increasing number, -f is the file and -n the line number. After setting the breakpoint you can then run run -i 2 to advance to that line. For all other commands, I'd refer you to the DBGP documentation at http://xdebug.org/docs-dbgp.php

    0 讨论(0)
提交回复
热议问题