File tree 4 files changed +41
-6
lines changed
4 files changed +41
-6
lines changed Original file line number Diff line number Diff line change 2
2
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3
3
?? ??? ????, PHP 7.3.23
4
4
5
+ - phpdbg:
6
+ . Fixed next command not stepping over function calls
5
7
6
8
03 Sep 2020, PHP 7.3.22
7
9
Original file line number Diff line number Diff line change @@ -1802,16 +1802,13 @@ void phpdbg_execute_ex(zend_execute_data *execute_data) /* {{{ */
1802
1802
goto next ;
1803
1803
}
1804
1804
1805
- /* not while in conditionals */
1806
- phpdbg_print_opline_ex (execute_data , 0 );
1807
-
1808
1805
/* perform seek operation */
1809
1806
if ((PHPDBG_G (flags ) & PHPDBG_SEEK_MASK ) && !(PHPDBG_G (flags ) & PHPDBG_IN_EVAL )) {
1810
1807
/* current address */
1811
1808
zend_ulong address = (zend_ulong ) execute_data -> opline ;
1812
1809
1813
1810
if (PHPDBG_G (seek_ex ) != execute_data ) {
1814
- if (PHPDBG_G (flags ) & PHPDBG_IS_STEPPING ) {
1811
+ if (PHPDBG_G (seek_ex ) -> prev_execute_data == execute_data && PHPDBG_G ( flags ) & PHPDBG_IS_STEPPING ) {
1815
1812
goto stepping ;
1816
1813
}
1817
1814
goto next ;
@@ -1857,6 +1854,9 @@ void phpdbg_execute_ex(zend_execute_data *execute_data) /* {{{ */
1857
1854
}
1858
1855
}
1859
1856
1857
+ /* not while in conditionals */
1858
+ phpdbg_print_opline_ex (execute_data , 0 );
1859
+
1860
1860
if (PHPDBG_G (flags ) & PHPDBG_IS_STEPPING && (PHPDBG_G (flags ) & PHPDBG_STEP_OPCODE || execute_data -> opline -> lineno != PHPDBG_G (last_line ))) {
1861
1861
stepping :
1862
1862
PHPDBG_G (flags ) &= ~PHPDBG_IS_STEPPING ;
Original file line number Diff line number Diff line change @@ -19,8 +19,7 @@ prompt> 0
19
19
>00005: }
20
20
00006:
21
21
00007: foo();
22
- prompt> [L8 %s ECHO 1 %s]
23
- >00008: echo 1;
22
+ prompt> >00008: echo 1;
24
23
00009:
25
24
prompt> 1
26
25
[L9 %s RETURN<-1> 1 %s]
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ Test next command step over functionality
3
+ --SKIPIF--
4
+ <?php
5
+ if (PHP_OS_FAMILY === 'Windows ' && ini_get ('opcache.jit ' ) && ini_get ('opcache.jit_buffer_size ' )) {
6
+ die ('xfail breakpoint/watchpoint issues with JIT on Windows ' );
7
+ }
8
+ ?>
9
+ --PHPDBG--
10
+ b 7
11
+ r
12
+ n
13
+ q
14
+ --EXPECTF--
15
+ [Successful compilation of %s]
16
+ prompt> [Breakpoint #0 added at %s:7]
17
+ prompt> [Breakpoint #0 at %s:7, hits: 1]
18
+ >00007: foo();
19
+ 00008: echo 1;
20
+ 00009:
21
+ prompt> 0
22
+ [L8 %s ECHO 1 %s]
23
+ >00008: echo 1;
24
+ 00009:
25
+ prompt>
26
+ --FILE--
27
+ <?php
28
+
29
+ function foo () {
30
+ echo 0 ;
31
+ }
32
+
33
+ foo ();
34
+ echo 1 ;
You can’t perform that action at this time.
0 commit comments