- 实现函数级别的调试信息生成,包括类方法和全局函数 - 添加命名空间前缀到调试函数名称中 - 集成 php::pushDebugFrame 和 php::popDebugFrame 用于运行时调试栈管理 - 添加调试信息启用和禁用机制 - 为嵌套函数调用添加异常传播测试用例 - 创建调试跟踪示例文件以验证功能实现pull/1/head
parent
7ee2a161b9
commit
28b6c6e726
3 changed files with 62 additions and 2 deletions
@ -0,0 +1,25 @@ |
|||||||
|
<?php |
||||||
|
function main() |
||||||
|
{ |
||||||
|
foo(); |
||||||
|
} |
||||||
|
|
||||||
|
function foo() |
||||||
|
{ |
||||||
|
bar(); |
||||||
|
} |
||||||
|
|
||||||
|
class Obj |
||||||
|
{ |
||||||
|
function run() |
||||||
|
{ |
||||||
|
$a = any(199); |
||||||
|
var_dump($a[9]); |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
function bar() |
||||||
|
{ |
||||||
|
$o = new Obj(); |
||||||
|
$o->run(); |
||||||
|
} |
||||||
@ -0,0 +1,22 @@ |
|||||||
|
--TEST-- |
||||||
|
debug exception propagation through nested function calls |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
function inner() { |
||||||
|
throw new Exception("error at inner level"); |
||||||
|
} |
||||||
|
function middle() { |
||||||
|
inner(); |
||||||
|
} |
||||||
|
function main() { |
||||||
|
try { |
||||||
|
middle(); |
||||||
|
} catch (Exception $e) { |
||||||
|
echo "Caught: " . $e->getMessage() . "\n"; |
||||||
|
echo "Exception class: " . get_class($e) . "\n"; |
||||||
|
} |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
Caught: error at inner level |
||||||
|
Exception class: Exception |
||||||
Loading…
Reference in new issue