summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/tests/stepping_001.phpt
blob: 074eeb47fa7a971f32758b4c33e6cbe90309ba3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
--TEST--
Stepping with exceptions must not be stuck at CATCH
--PHPDBG--
b ZEND_THROW
r
s






q
--EXPECTF--
[Successful compilation of %s]
prompt> [Breakpoint #0 added at ZEND_THROW]
prompt> [Breakpoint #0 in ZEND_THROW at %s:4, hits: 1]
>00004: 	throw new Exception;
 00005: }
 00006: 
prompt> [L0 %s HANDLE_EXCEPTION                                                                       %s]
>00004: 	throw new Exception;
 00005: }
 00006: 
prompt> [L0 %s HANDLE_EXCEPTION                                                                       %s]
[L9 %s CATCH                   "Exception"          $e                   1                    %s]
>00008: 	foo();
 00009: } catch (Exception $e) {
 00010: 	echo "ok";
prompt> [L10 %s ECHO                    "ok"                                                           %s]
>00010: 	echo "ok";
 00011: } finally {
 00012: 	echo " ... ok";
prompt> ok
[L10 %s FAST_CALL               J8                                        ~%d                   %s]
[L12 %s ECHO                    " ... ok"                                                      %s]
>00012: 	echo " ... ok";
 00013: }
 00014: 
prompt>  ... ok
[L12 %s FAST_RET                ~%d                                                             %s]
[L10 %s JMP                     J10                                                            %s]
>00010: 	echo "ok";
 00011: } finally {
 00012: 	echo " ... ok";
prompt> [L12 %s RETURN                  1                                                              %s]
>00012: 	echo " ... ok";
 00013: }
 00014: 
prompt> [Script ended normally]
prompt> 
--FILE--
<?php

function foo() {
	throw new Exception;
}

try {
	foo();
} catch (Exception $e) {
	echo "ok";
} finally {
	echo " ... ok";
}