XDebug和VIM。浏览数组值

时间:2011-04-04 05:43:50

标签: vim xdebug

有没有办法浏览数组中的数据?

目前我只能看到$data[0] = (array)而无法知道数组中的内容。

我可以正常变量中的值。

有没有办法看到数组内部?也许是一个我不知道的命令?

编辑:

我发现我可以使用命令键,e来评估数组或对象。

输入后,会出现/*{{{1*/ => eval:提示,然后我可以输入/*{{{1*/ => eval: $data[0]来查看值。

除了我得到以下输出格式:

/*{{{1*/ => eval: $data[0]

$command = 'eval';

EVAL_RESULT = (array) ;

EVAL_RESULT = (string) 'stringfromdata0-1' ;

EVAL_RESULT = (string) 'stringfromdata0-2' ;

EVAL_RESULT = (array) 'stringfromdata0-3' ;

这只是我想要的一半。有没有办法输出数组的键?它只显示值,但键显示为“EVAL_RESULT”,而不是它们的透视键名称。

4 个答案:

答案 0 :(得分:5)

编辑debugger.vim文件(〜/ .vim / plugin / debugger.vim)并找到类似于

的行
let g:debuggerMaxDepth = 1

将深度变量增加到合理的数量(5应该足够) 保存并重新启动vim。

答案 1 :(得分:4)

此外,您可以将表达式包装在var_export(<expr>, true)中,它会显示完整的对象。

答案 2 :(得分:0)

您可以在xdebug会话中输入vim命令,e

从那里你可以评估你想要的任何php行;例如

print_r($data);

并使用 Enter

提交

注意:如果你在ob_start块内,这将输出到你的php-cli标准输出,或输出缓冲区;或者,如果您从浏览器访问,则可能不会输出,直到整个php请求完成。您可以将部分输出缓冲区刷新到浏览器,但是您必须自己使用Google。


我发布这个作为答案,即使它在OP的问题中发布,因为我没有阅读OP的问题,如果我正在寻找答案,我想确保人们可以找到它!如果OP将他的答案作为答案发布并且ping我,我很乐意删除这个答案。

答案 3 :(得分:0)

从来没有按照我希望的方式工作。相反,我找到了更好的方法。

使用Vundle我在下面为xdebug安装了VIM调试器:

https://github.com/joonty/vdebug

每当我有机会,我都会发布截图。

虽然有点像魅力。