# 反向调试

针对C/C++开发场景，DevEco Studio在提供基础调试能力的基础上，同时提供反向调试能力，帮助开发者更好地理解代码和更迅速定位问题。

反向调试是指在调试过程中可以回退到历史行和历史断点，查看历史调试信息，包括线程、堆栈和变量信息。支持的调试操作为：

* 进入/退出反向调试模式
* 反向Step Over回退到历史行
* 反向Resume执行到历史断点
* 在程序执行历史的记录点上查看全局、静态、局部变量值

## 前提条件

在**File > Settings** （macOS为**DevEco Studio > Preferences/Settings** ）**> Build,Execution,Deployment > Debugger > C++ Debugger** 设置界面，勾选**Enable time travel debug**开启C++反向调试开关。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/a7/v3/_udOVFneTQar9diwveacjQ/zh-cn_image_0000002731381937.png?HW-CC-KV=V1&HW-CC-Date=20261008T140346Z&HW-CC-Expire=31536000000&HW-CC-Sign=441A2CE1D019EC00AF730267C7F162499AE649721388816D3248D9225707A1AF)

## 操作步骤

1. 设置断点，进入调试模式。
2. 开启反向调试开关后，在Debugger中会出现反向调试相关按钮。

   ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/96/v3/EzALkVJ1RjKZov3laQ_kpQ/zh-cn_image_0000002731541901.png?HW-CC-KV=V1&HW-CC-Date=20261008T140346Z&HW-CC-Expire=31536000000&HW-CC-Sign=AA2C292F977968841B8F0DC400C3252436E04DE31C5990F92B75CEDC1C462D5D)

   需要查看历史调试信息时，点击"Open Time Travel Debug"按钮![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/82/v3/lwYtxsZSQauEImS1T7w8eg/zh-cn_image_0000002731541905.png?HW-CC-KV=V1&HW-CC-Date=20261008T140346Z&HW-CC-Expire=31536000000&HW-CC-Sign=3C002026B3EBCA147B6C4FE71694B5A2B754395D8AA7A9F236F0B9A7D2C959D5)进入反向调试模式，您可以在此模式下进行调试。

   ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/51/v3/PZvCd615Tg6e-86-Fzqcmg/zh-cn_image_0000002731381939.png?HW-CC-KV=V1&HW-CC-Date=20261008T140346Z&HW-CC-Expire=31536000000&HW-CC-Sign=2F287DE0B5F4AA4D8972D904EC86EC9959D9692F70C902C1746AFC2054C742BE)

   其中，操作按钮说明如下：
   * ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/88/v3/H9vd-C4dQouhEYOGZznroQ/zh-cn_image_0000002731381941.png?HW-CC-KV=V1&HW-CC-Date=20261008T140346Z&HW-CC-Expire=31536000000&HW-CC-Sign=A629BAEE2FBBD2FB4D62F7229B4F19BA0AF9A1287C07CC853E5D1DE814153108)：退出反向调试模式。
   * ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/fd/v3/x6SpfyvZRSCt3nMInQeADg/zh-cn_image_0000002731541907.png?HW-CC-KV=V1&HW-CC-Date=20261008T140346Z&HW-CC-Expire=31536000000&HW-CC-Sign=926734458FF2F6A1F35B165D297CA302C7A385034DD2847C86FC1C99D1D33C40)：切换当前高亮行到下一个历史断点，并显示断点相关信息。
   * ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/58/v3/Se95jbv8SEuiBKpBc5WkXA/zh-cn_image_0000002731381931.png?HW-CC-KV=V1&HW-CC-Date=20261008T140346Z&HW-CC-Expire=31536000000&HW-CC-Sign=7690490D7606F469155F979D89EF0E6130237EEA60D17F416430D68B8939F5C0)：切换当前高亮行到上一个历史断点，并显示断点相关信息。
   * ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/62/v3/kyy5ivNMQBmhkgYPjvQejw/zh-cn_image_0000002731541903.png?HW-CC-KV=V1&HW-CC-Date=20261008T140346Z&HW-CC-Expire=31536000000&HW-CC-Sign=03D5EAE028C57C942FD7276013C645C97D134A4AD6DACD8EB05D098FF8C41CCC)：切换当前高亮行到下一个历史行，并显示历史行相关信息。
   * ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/2c/v3/hWkfNlVRSy-QQTAA3GaWPA/zh-cn_image_0000002731541911.png?HW-CC-KV=V1&HW-CC-Date=20261008T140346Z&HW-CC-Expire=31536000000&HW-CC-Sign=CD7A22835A7942255DA710D3897EC2D1A5D49426F49B5AE541C5F29070B17790)：切换当前高亮行到上一个历史行，并显示历史行相关信息。

> 说明
>
> 某些功能在反向调试模式下无法使用，此时会根据您的行为进行对应提示。

