stepping_001.phpt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. --TEST--
  2. Stepping with exceptions must not be stuck at CATCH
  3. --INI--
  4. opcache.enable=0
  5. --PHPDBG--
  6. b ZEND_THROW
  7. r
  8. s
  9. q
  10. --EXPECTF--
  11. [Successful compilation of %s]
  12. prompt> [Breakpoint #0 added at ZEND_THROW]
  13. prompt> [Breakpoint #0 in ZEND_THROW at %s:4, hits: 1]
  14. >00004: throw new Exception;
  15. 00005: }
  16. 00006:
  17. prompt> [L0 %s HANDLE_EXCEPTION %s]
  18. >00004: throw new Exception;
  19. 00005: }
  20. 00006:
  21. prompt> [L0 %s HANDLE_EXCEPTION %s]
  22. [L9 %s CATCH<%d> "Exception" $e %s]
  23. >00008: foo();
  24. 00009: } catch (Exception $e) {
  25. 00010: echo "ok";
  26. prompt> [L10 %s ECHO "ok" %s]
  27. >00010: echo "ok";
  28. 00011: } finally {
  29. 00012: echo " ... ok";
  30. prompt> ok
  31. [L11 %s FAST_CALL J8 ~%d %s]
  32. >00011: } finally {
  33. 00012: echo " ... ok";
  34. 00013: }
  35. prompt> [L12 %s ECHO " ... ok" %s]
  36. >00012: echo " ... ok";
  37. 00013: }
  38. 00014:
  39. prompt> ... ok
  40. [L12 %s FAST_RET ~%d %s]
  41. [L11 %s JMP J10 %s]
  42. >00011: } finally {
  43. 00012: echo " ... ok";
  44. 00013: }
  45. prompt> [L14 %s RETURN<-1> 1 %s]
  46. >00014:
  47. prompt>
  48. --FILE--
  49. <?php
  50. function foo() {
  51. throw new Exception;
  52. }
  53. try {
  54. foo();
  55. } catch (Exception $e) {
  56. echo "ok";
  57. } finally {
  58. echo " ... ok";
  59. }