Php xdebug错误消息中参数的自定义格式
我知道使用Xdebug可以更改Php xdebug错误消息中参数的自定义格式,php,debugging,serialization,formatting,xdebug,Php,Debugging,Serialization,Formatting,Xdebug,我知道使用Xdebug可以更改Xdebug.collect_params设置,以便错误消息包含有关调用中使用的参数的更多信息。(有一个很好的解释) 但是,我的对象的字符串表示非常大,无法读取 我已经有了一些很好的toString实现,它们只返回一个唯一的id,因此如果我能让xdebug使用\uu toString()而不是完全序列化,那将是非常好的 这是否可能(或参数格式的任何其他自定义) 理论上,我想我可以尝试通过\uu sleep()实现自定义表示,但实际上我需要默认的序列化机制来跨请求保
Xdebug.collect_params
设置,以便错误消息包含有关调用中使用的参数的更多信息。(有一个很好的解释)
但是,我的对象的字符串表示非常大,无法读取
我已经有了一些很好的toString实现,它们只返回一个唯一的id,因此如果我能让xdebug使用\uu toString()
而不是完全序列化,那将是非常好的
这是否可能(或参数格式的任何其他自定义)
理论上,我想我可以尝试通过
\uu sleep()
实现自定义表示,但实际上我需要默认的序列化机制来跨请求保存对象。有一些工具提供了一种直观的交互方式来显示异常和堆栈跟踪。因此,您可以拥有所有必要的细节,并且仍然拥有一个整洁的UI。考虑以下事项:
- ()
- ()
- *
*Symfony异常处理程序似乎能够独立工作(从composer.json判断,没有其他对Symfony的依赖,尽管我还没有尝试过)。文件说: ExceptionHandler类捕获未捕获的PHP异常,并将其转换为良好的PHP响应。在调试模式下,用更漂亮、更有用的东西替换默认的PHP/XDebug输出非常有用
正如上述评论所指出的: PHP5.6支持。2014年12月,已向xdebug回购协议提交了该方法的详细说明,并应尽快发布
另请参见:尽管我的IDE依赖Xdebug进行调试工作,但这看起来非常不错。不确定将它们一起使用是否明智?哦,在演示中,我没有看到任何关于所用参数值的信息?诚然,我以前没有使用过“呜呜”声,而且它似乎无法跟踪传递的参数。但是,我一直在项目中使用NetteDebug和Symfony\Debug,它们都支持显示传递的参数。我已经用新的链接更新了帖子。谢谢,这是一个很好的列表。也许有一天它会派上用场,但现在我真的在寻找使用xdebug的解决方案。似乎uuu debugInfo是我碰巧遇到的答案,这个项目有一组很好的包,包括一个名为的错误处理程序。这是一个相当年轻的项目,不包含一个项目,但是该项目为定制错误输出提供了坚实的OOP基础。我没有将它添加到列表中,因为它还没有提供“显示异常的直观和交互式方式”。我真的不知道,但是如果xdebug使用
var\u dump()
,那么您可以将\uu toString()
逻辑移动到\uu debugInfo()
。是的,这似乎正是解决方案。xdebug的最新版本中实现了对_debugInfo的支持。现在我只需要等待使用PHP5.6;的WAMP更新)相关的: