2013-11-13 19:32:21 +00:00
|
|
|
/*
|
|
|
|
+----------------------------------------------------------------------+
|
2015-03-13 09:09:42 +00:00
|
|
|
| PHP Version 7 |
|
2013-11-13 19:32:21 +00:00
|
|
|
+----------------------------------------------------------------------+
|
2015-01-15 15:27:30 +00:00
|
|
|
| Copyright (c) 1997-2015 The PHP Group |
|
2013-11-13 19:32:21 +00:00
|
|
|
+----------------------------------------------------------------------+
|
|
|
|
| This source file is subject to version 3.01 of the PHP license, |
|
|
|
|
| that is bundled with this package in the file LICENSE, and is |
|
|
|
|
| available through the world-wide-web at the following url: |
|
|
|
|
| http://www.php.net/license/3_01.txt |
|
|
|
|
| If you did not receive a copy of the PHP license and are unable to |
|
|
|
|
| obtain it through the world-wide-web, please send a note to |
|
|
|
|
| license@php.net so we can mail you a copy immediately. |
|
|
|
|
+----------------------------------------------------------------------+
|
|
|
|
| Authors: Felipe Pena <felipe@php.net> |
|
|
|
|
| Authors: Joe Watkins <joe.watkins@live.co.uk> |
|
2013-12-18 10:02:50 +00:00
|
|
|
| Authors: Bob Weinand <bwoebi@php.net> |
|
2013-11-13 19:32:21 +00:00
|
|
|
+----------------------------------------------------------------------+
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "phpdbg.h"
|
|
|
|
#include "phpdbg_print.h"
|
|
|
|
#include "phpdbg_utils.h"
|
|
|
|
#include "phpdbg_opcode.h"
|
|
|
|
#include "phpdbg_break.h"
|
|
|
|
#include "phpdbg_bp.h"
|
2014-02-19 20:18:49 +00:00
|
|
|
#include "phpdbg_prompt.h"
|
2013-11-13 19:32:21 +00:00
|
|
|
|
|
|
|
ZEND_EXTERN_MODULE_GLOBALS(phpdbg);
|
|
|
|
|
2014-10-02 23:29:41 +00:00
|
|
|
#define PHPDBG_BREAK_COMMAND_D(f, h, a, m, l, s, flags) \
|
|
|
|
PHPDBG_COMMAND_D_EXP(f, h, a, m, l, s, &phpdbg_prompt_commands[10], flags)
|
2014-02-19 20:18:49 +00:00
|
|
|
|
2014-02-02 16:35:28 +00:00
|
|
|
/**
|
|
|
|
* Commands
|
|
|
|
*/
|
|
|
|
const phpdbg_command_t phpdbg_break_commands[] = {
|
2014-10-02 23:29:41 +00:00
|
|
|
PHPDBG_BREAK_COMMAND_D(at, "specify breakpoint by location and condition", '@', break_at, NULL, "*c", 0),
|
|
|
|
PHPDBG_BREAK_COMMAND_D(del, "delete breakpoint by identifier number", '~', break_del, NULL, "n", 0),
|
2014-02-02 16:35:28 +00:00
|
|
|
PHPDBG_END_COMMAND
|
|
|
|
};
|
|
|
|
|
2013-12-03 00:15:33 +00:00
|
|
|
PHPDBG_BREAK(at) /* {{{ */
|
|
|
|
{
|
2014-12-13 22:06:14 +00:00
|
|
|
phpdbg_set_breakpoint_at(param);
|
2013-12-03 00:15:33 +00:00
|
|
|
|
|
|
|
return SUCCESS;
|
|
|
|
} /* }}} */
|
|
|
|
|
2013-11-24 11:58:08 +00:00
|
|
|
PHPDBG_BREAK(del) /* {{{ */
|
|
|
|
{
|
2014-12-13 22:06:14 +00:00
|
|
|
phpdbg_delete_breakpoint(param->num);
|
2013-11-24 11:58:08 +00:00
|
|
|
|
|
|
|
return SUCCESS;
|
|
|
|
} /* }}} */
|