php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
phpdbg_bp.h
Go to the documentation of this file.
1/*
2 +----------------------------------------------------------------------+
3 | Copyright (c) The PHP Group |
4 +----------------------------------------------------------------------+
5 | This source file is subject to version 3.01 of the PHP license, |
6 | that is bundled with this package in the file LICENSE, and is |
7 | available through the world-wide-web at the following url: |
8 | https://www.php.net/license/3_01.txt |
9 | If you did not receive a copy of the PHP license and are unable to |
10 | obtain it through the world-wide-web, please send a note to |
11 | license@php.net so we can mail you a copy immediately. |
12 +----------------------------------------------------------------------+
13 | Authors: Felipe Pena <felipe@php.net> |
14 | Authors: Joe Watkins <joe.watkins@live.co.uk> |
15 | Authors: Bob Weinand <bwoebi@php.net> |
16 +----------------------------------------------------------------------+
17*/
18
19#ifndef PHPDBG_BP_H
20#define PHPDBG_BP_H
21
22/* {{{ defines */
23#define PHPDBG_BREAK_FILE 0
24#define PHPDBG_BREAK_FILE_PENDING 1
25#define PHPDBG_BREAK_SYM 2
26#define PHPDBG_BREAK_OPLINE 3
27#define PHPDBG_BREAK_METHOD 4
28#define PHPDBG_BREAK_COND 5
29#define PHPDBG_BREAK_OPCODE 6
30#define PHPDBG_BREAK_FUNCTION_OPLINE 7
31#define PHPDBG_BREAK_METHOD_OPLINE 8
32#define PHPDBG_BREAK_FILE_OPLINE 9
33#define PHPDBG_BREAK_MAP 10
34#define PHPDBG_BREAK_TABLES 11 /* }}} */
35
36/* {{{ */
37typedef struct _zend_op *phpdbg_opline_ptr_t; /* }}} */
38
39/* {{{ breakpoint base structure */
40#define phpdbg_breakbase(name) \
41 int id; \
42 uint8_t type; \
43 zend_ulong hits; \
44 bool disabled; \
45 const char *name /* }}} */
46
47/* {{{ breakpoint base */
51
59
66
76
88
97
105
117
118/* {{{ Resolving breaks API */
122PHPDBG_API HashTable *phpdbg_resolve_pending_file_break_ex(const char *file, uint32_t filelen, zend_string *cur, HashTable *fileht);
123PHPDBG_API void phpdbg_resolve_pending_file_break(const char *file); /* }}} */
124
125/* {{{ Breakpoint Creation API */
126PHPDBG_API void phpdbg_set_breakpoint_file(const char* filename, size_t path_len, zend_ulong lineno);
128PHPDBG_API void phpdbg_set_breakpoint_method(const char* class_name, const char* func_name);
129PHPDBG_API void phpdbg_set_breakpoint_opcode(const char* opname, size_t opname_len);
132PHPDBG_API void phpdbg_set_breakpoint_method_opline(const char *class, const char *method, zend_ulong opline);
135PHPDBG_API void phpdbg_set_breakpoint_expression(const char* expression, size_t expression_len);
136PHPDBG_API void phpdbg_set_breakpoint_at(const phpdbg_param_t *param); /* }}} */
137
138/* {{{ Breakpoint Detection API */
140
141/* {{{ Misc Breakpoint API */
142PHPDBG_API void phpdbg_hit_breakpoint(phpdbg_breakbase_t* brake, bool output);
151PHPDBG_API void phpdbg_disable_breakpoints(void); /* }}} */
152
153/* {{{ Breakbase API */
156
157/* {{{ Breakpoint Exportation API */
159PHPDBG_API void phpdbg_export_breakpoints_to_string(char **str); /* }}} */
160
161#endif /* PHPDBG_BP_H */
file(string $filename, int $flags=0, $context=null)
zend_ffi_type * type
Definition ffi.c:3812
DL_HANDLE handle
Definition ffi.c:3028
#define PHPDBG_API
Definition phpdbg.h:27
PHPDBG_API phpdbg_breakbase_t * phpdbg_find_breakbase_ex(zend_ulong id, HashTable **table, zend_ulong *numkey, zend_string **strkey)
Definition phpdbg_bp.c:1431
struct _phpdbg_breakopline_t phpdbg_breakopline_t
PHPDBG_API void phpdbg_set_breakpoint_at(const phpdbg_param_t *param)
Definition phpdbg_bp.c:915
PHPDBG_API void phpdbg_set_breakpoint_opcode(const char *opname, size_t opname_len)
Definition phpdbg_bp.c:784
PHPDBG_API void phpdbg_set_breakpoint_function_opline(const char *function, zend_ulong opline)
Definition phpdbg_bp.c:692
PHPDBG_API phpdbg_breakbase_t * phpdbg_find_breakpoint(zend_execute_data *)
Definition phpdbg_bp.c:1142
PHPDBG_API void phpdbg_set_breakpoint_expression(const char *expression, size_t expression_len)
Definition phpdbg_bp.c:902
PHPDBG_API void phpdbg_resolve_op_array_breaks(zend_op_array *op_array)
Definition phpdbg_bp.c:536
PHPDBG_API void phpdbg_set_breakpoint_opline(zend_ulong opline)
Definition phpdbg_bp.c:479
PHPDBG_API void phpdbg_print_breakpoints(zend_ulong type)
Definition phpdbg_bp.c:1446
PHPDBG_API void phpdbg_set_breakpoint_file(const char *filename, size_t path_len, zend_ulong lineno)
Definition phpdbg_bp.c:256
PHPDBG_API void phpdbg_delete_breakpoint(zend_ulong num)
Definition phpdbg_bp.c:1190
PHPDBG_API int phpdbg_resolve_opline_break(phpdbg_breakopline_t *new_break)
Definition phpdbg_bp.c:572
struct _phpdbg_breakmethod_t phpdbg_breakmethod_t
struct _phpdbg_breakop_t phpdbg_breakop_t
PHPDBG_API void phpdbg_clear_breakpoints(void)
Definition phpdbg_bp.c:1254
PHPDBG_API void phpdbg_hit_breakpoint(phpdbg_breakbase_t *brake, bool output)
Definition phpdbg_bp.c:1273
PHPDBG_API void phpdbg_set_breakpoint_symbol(const char *func_name, size_t func_name_len)
Definition phpdbg_bp.c:404
PHPDBG_API void phpdbg_disable_breakpoints(void)
Definition phpdbg_bp.c:1418
PHPDBG_API void phpdbg_export_breakpoints(FILE *handle)
Definition phpdbg_bp.c:109
PHPDBG_API void phpdbg_reset_breakpoints(void)
Definition phpdbg_bp.c:96
PHPDBG_API void phpdbg_print_breakpoint(phpdbg_breakbase_t *brake)
Definition phpdbg_bp.c:1282
PHPDBG_API void phpdbg_resolve_pending_file_break(const char *file)
Definition phpdbg_bp.c:389
struct _phpdbg_breakline_t phpdbg_breakline_t
PHPDBG_API void phpdbg_set_breakpoint_method_opline(const char *class, const char *method, zend_ulong opline)
Definition phpdbg_bp.c:639
PHPDBG_API void phpdbg_set_breakpoint_opline_ex(phpdbg_opline_ptr_t opline)
Definition phpdbg_bp.c:806
PHPDBG_API void phpdbg_disable_breakpoint(zend_ulong id)
Definition phpdbg_bp.c:1404
PHPDBG_API void phpdbg_enable_breakpoint(zend_ulong id)
Definition phpdbg_bp.c:1395
struct _zend_op * phpdbg_opline_ptr_t
Definition phpdbg_bp.h:37
PHPDBG_API phpdbg_breakbase_t * phpdbg_find_breakbase(zend_ulong id)
Definition phpdbg_bp.c:1422
PHPDBG_API void phpdbg_export_breakpoints_to_string(char **str)
Definition phpdbg_bp.c:117
PHPDBG_API void phpdbg_enable_breakpoints(void)
Definition phpdbg_bp.c:1413
PHPDBG_API void phpdbg_set_breakpoint_file_opline(const char *file, zend_ulong opline)
Definition phpdbg_bp.c:738
PHPDBG_API int phpdbg_resolve_op_array_break(phpdbg_breakopline_t *brake, zend_op_array *op_array)
Definition phpdbg_bp.c:500
struct _phpdbg_breakbase_t phpdbg_breakbase_t
struct _phpdbg_breakcond_t phpdbg_breakcond_t
PHPDBG_API HashTable * phpdbg_resolve_pending_file_break_ex(const char *file, uint32_t filelen, zend_string *cur, HashTable *fileht)
Definition phpdbg_bp.c:343
struct _phpdbg_breakfile_t phpdbg_breakfile_t
PHPDBG_API void phpdbg_set_breakpoint_method(const char *class_name, const char *func_name)
Definition phpdbg_bp.c:435
struct _phpdbg_breaksymbol_t phpdbg_breaksymbol_t
struct _phpdbg_param phpdbg_param_t
Definition phpdbg_cmd.h:51
const char * func_name
size_t func_name_len
phpdbg_param_t param
Definition phpdbg_bp.h:113
zend_op_array * ops
Definition phpdbg_bp.h:115
zend_ulong line
Definition phpdbg_bp.h:57
phpdbg_breakbase(filename)
phpdbg_breakopline_t * base
Definition phpdbg_bp.h:95
zend_ulong opline
Definition phpdbg_bp.h:94
phpdbg_breakbase(class_name)
const char * func_name
Definition phpdbg_bp.h:73
zend_ulong hash
Definition phpdbg_bp.h:103
phpdbg_breakbase(func_name)
zend_ulong opline_num
Definition phpdbg_bp.h:85
const char * class_name
Definition phpdbg_bp.h:83
struct _zend_op_array zend_op_array
uint32_t zend_ulong
Definition zend_long.h:43
struct _zend_string zend_string
struct _zend_array HashTable
Definition zend_types.h:386
struct _zend_execute_data zend_execute_data
Definition zend_types.h:91
zend_string * name
function(EX_VAR(opline->result.var))