#include "phpdbg_prompt.h"
#include "phpdbg_cmd.h"
-/* {{{ forward declarations */
-static PHPDBG_COMMAND(exec);
-static PHPDBG_COMMAND(compile);
-static PHPDBG_COMMAND(step);
-static PHPDBG_COMMAND(next);
-static PHPDBG_COMMAND(run);
-static PHPDBG_COMMAND(eval);
-static PHPDBG_COMMAND(until);
-static PHPDBG_COMMAND(finish);
-static PHPDBG_COMMAND(leave);
-static PHPDBG_COMMAND(print);
-static PHPDBG_COMMAND(break);
-static PHPDBG_COMMAND(back);
-static PHPDBG_COMMAND(list);
-static PHPDBG_COMMAND(info);
-static PHPDBG_COMMAND(clean);
-static PHPDBG_COMMAND(clear);
-static PHPDBG_COMMAND(help);
-static PHPDBG_COMMAND(quiet);
-static PHPDBG_COMMAND(aliases);
-static PHPDBG_COMMAND(shell);
-static PHPDBG_COMMAND(oplog);
-static PHPDBG_COMMAND(register);
-static PHPDBG_COMMAND(quit); /* }}} */
-
/* {{{ command declarations */
static const phpdbg_command_t phpdbg_prompt_commands[] = {
PHPDBG_COMMAND_D(exec, "set execution context", 'e', NULL, 1),
}
} /* }}} */
-static PHPDBG_COMMAND(exec) /* {{{ */
+PHPDBG_COMMAND(exec) /* {{{ */
{
switch (param->type) {
case STR_PARAM: {
return FAILURE;
} /* }}} */
-static PHPDBG_COMMAND(compile) /* {{{ */
+PHPDBG_COMMAND(compile) /* {{{ */
{
if (!PHPDBG_G(exec)) {
phpdbg_error("No execution context");
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(step) /* {{{ */
+PHPDBG_COMMAND(step) /* {{{ */
{
switch (param->type) {
case EMPTY_PARAM:
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(next) /* {{{ */
+PHPDBG_COMMAND(next) /* {{{ */
{
return PHPDBG_NEXT;
} /* }}} */
-static PHPDBG_COMMAND(until) /* {{{ */
+PHPDBG_COMMAND(until) /* {{{ */
{
if (!EG(in_execution)) {
phpdbg_error("Not executing");
return PHPDBG_UNTIL;
} /* }}} */
-static PHPDBG_COMMAND(finish) /* {{{ */
+PHPDBG_COMMAND(finish) /* {{{ */
{
if (!EG(in_execution)) {
phpdbg_error("Not executing");
return PHPDBG_FINISH;
} /* }}} */
-static PHPDBG_COMMAND(leave) /* {{{ */
+PHPDBG_COMMAND(leave) /* {{{ */
{
if (!EG(in_execution)) {
phpdbg_error("Not executing");
zval_dtor(&exception);
} /* }}} */
-static PHPDBG_COMMAND(run) /* {{{ */
+PHPDBG_COMMAND(run) /* {{{ */
{
if (EG(in_execution)) {
phpdbg_error("Cannot start another execution while one is in progress");
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(eval) /* {{{ */
+PHPDBG_COMMAND(eval) /* {{{ */
{
switch (param->type) {
case STR_PARAM: {
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(back) /* {{{ */
+PHPDBG_COMMAND(back) /* {{{ */
{
if (!EG(in_execution)) {
phpdbg_error("Not executing!");
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(print) /* {{{ */
+PHPDBG_COMMAND(print) /* {{{ */
{
switch (param->type) {
case EMPTY_PARAM: {
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(info) /* {{{ */
+PHPDBG_COMMAND(info) /* {{{ */
{
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(break) /* {{{ */
+PHPDBG_COMMAND(break) /* {{{ */
{
switch (param->type) {
case ADDR_PARAM:
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(shell) /* {{{ */
+PHPDBG_COMMAND(shell) /* {{{ */
{
/* don't allow this to loop, ever ... */
switch (param->type) {
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(register) /* {{{ */
+PHPDBG_COMMAND(register) /* {{{ */
{
switch (param->type) {
case STR_PARAM: {
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(quit) /* {{{ */
+PHPDBG_COMMAND(quit) /* {{{ */
{
/* don't allow this to loop, ever ... */
if (!(PHPDBG_G(flags) & PHPDBG_IS_QUITTING)) {
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(clean) /* {{{ */
+PHPDBG_COMMAND(clean) /* {{{ */
{
if (EG(in_execution)) {
phpdbg_error("Cannot clean environment while executing");
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(clear) /* {{{ */
+PHPDBG_COMMAND(clear) /* {{{ */
{
phpdbg_notice("Clearing Breakpoints");
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(aliases) /* {{{ */
+PHPDBG_COMMAND(aliases) /* {{{ */
{
const phpdbg_command_t *prompt_command = phpdbg_prompt_commands;
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(oplog) /* {{{ */
+PHPDBG_COMMAND(oplog) /* {{{ */
{
switch (param->type) {
case EMPTY_PARAM:
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(help) /* {{{ */
+PHPDBG_COMMAND(help) /* {{{ */
{
switch (param->type) {
case EMPTY_PARAM: {
phpdbg_writeln(" -i\t-imy.init\t\tSet .phpdbginit file");
phpdbg_writeln(" -I\tN/A\t\t\tIgnore default .phpdbginit");
phpdbg_writeln(" -O\t-Omy.oplog\t\tSets oplog output file");
+ phpdbg_writeln(" -r\tN/A\t\t\tRun execution context");
+ phpdbg_notice(
+ "Note: passing -rr will cause phpdbg to quit after execution");
phpdbg_help_footer();
} break;
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(quiet) /* {{{ */
+PHPDBG_COMMAND(quiet) /* {{{ */
{
switch (param->type) {
case NUMERIC_PARAM: {
return SUCCESS;
} /* }}} */
-static PHPDBG_COMMAND(list) /* {{{ */
+PHPDBG_COMMAND(list) /* {{{ */
{
switch (param->type) {
case NUMERIC_PARAM: