当通过 cli 命令抛出异常时,Symfony 3.3 获取堆栈跟踪(例如 server:start)

Symfony 3.3 getting stacktrace when an Exception gets thrown over the cli command (eg server:start)

在我的 Symfony 3.3 项目上,当我 运行 一个 cli 命令,例如:

php ./bin/console server:start

有时会抛出错误例如:

  [Symfony\Component\Debug\Exception\ContextErrorException]      
  Warning: key() expects parameter 1 to be array, boolean given  

所以使用Xdebug我会调试它,但这可能很耗时。因此找到它的堆栈跟踪将有助于将断点放在正确的位置。

那么,我怎样才能通过框架抛出的 "systematic" 异常获得堆栈跟踪?

是的,这很烦人。这是 Symfony 的已知问题。它将在 Symfony 3.4:

后修复

指定详细程度,使用:

php ./bin/console server:start -v

(或-vv/-vvv

参考: Symfony Console - Verbosity Levels