- 实现函数级别的调试信息生成,包括类方法和全局函数 - 添加命名空间前缀到调试函数名称中 - 集成 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