查看异步函数堆栈
========

从DevEco Studio 5.1.1 Beta1版本开始，开发者可通过打开异步堆栈跟踪开关、设置异步调用链深度来跟踪异步函数调用的顺序。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/99/v3/viSjsTWGT7WDv9m1HGxIZQ/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073858Z&HW-CC-Expire=86400&HW-CC-Sign=D91AA03C04002A64397DDAF84D295155BD664AB83FA92C44F6B2DDFC94778B0C)

*   异步堆栈跟踪开关为全局设置，开启后所有工程都生效。
*   修改异步堆栈跟踪开关或异步调用链深度后，需要重新启动调试或启动新的调试会话才会生效。
*   setTimeout函数异步堆栈不生效。
*   异步堆栈不展示变量列表。

1.  点击**File > Settings**（macOS为**DevEco Studio > Preferences/Settings**） **> Build, Execution, Deployment > Debugger > Async Stack Traces**。
    
    *   勾选**Enable async stack traces**打开异步堆栈跟踪开关。
    *   设置异步调用链深度**Async call chain depth**大于0，才能在调试堆栈时展示调用链对应层数。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/83/v3/txF63YZuT_i2SGUPpR7KBw/zh-cn_image_0000002624994579.png?HW-CC-KV=V1&HW-CC-Date=20260612T073858Z&HW-CC-Expire=86400&HW-CC-Sign=46018A38C763AAD0BA86C1D971A72368B4CC99FB609810FC4CB14DCEBBF70F31)
    
2.  在异步调用链中设置断点，启动调试，命中断点后，堆栈列表将展示对应调用链层数。如果实际的调用链层数比设置的异步调用链深度小，则只展示实际调用链层数。每个异步调用链以**Async call from**分隔，后面是调用函数。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/74/v3/nQ3mAYrIRhq8MSYbqpf5Yg/zh-cn_image_0000002594475220.png?HW-CC-KV=V1&HW-CC-Date=20260612T073858Z&HW-CC-Expire=86400&HW-CC-Sign=2D70652AFBDC5952A5DD39130FF9CD3FFD2AF9E420DB4950F788585AB4B21585)