🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Coroutine::getBackTrace 获取协程函数调用栈。 ```php function Coroutine::getBackTrace(int $cid=0, int $options=DEBUG_BACKTRACE_PROVIDE_OBJECT, int $limit=0) : array; ``` > 需要`4.1.0`或更高版本 参数 ---- * `$cid` 协程的`ID`,默认为当前协程 * `$options` 设置选项 * `DEBUG_BACKTRACE_PROVIDE_OBJECT`: 是否填充`object`的索引 * `DEBUG_BACKTRACE_IGNORE_ARGS`: 是否忽略`args`的索引,包括所有的 `function/method` 的参数,能够节省内存开销 * `$limit` 限制返回堆栈帧的数量 返回值 ---- * 指定的协程不存在,将返回`false` * 成功返回数组,格式与 [debug_backtrace](http://php.net/manual/zh/function.debug-backtrace.php) 函数返回值相同 使用实例 ---- ```php function test1() { test2(); } function test2() { while(true) { co::sleep(10); echo __FUNCTION__." \n"; } } $cid = go(function () { test1(); }); go(function () use ($cid) { while(true) { echo "BackTrace[$cid]:\n-----------------------------------------------\n"; //返回数组,需要自行格式化输出 var_dump(co::getBackTrace($cid))."\n"; co::sleep(3); } }); ```