反向调试
====

针对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/b8/v3/rtf71eRLScmLc8nIa9rr7w/zh-cn_image_0000002594634230.png?HW-CC-KV=V1&HW-CC-Date=20260612T073859Z&HW-CC-Expire=86400&HW-CC-Sign=68C98D45610E8369E4860A7013067D7384BD3C18CE61CC528D4E663FAC2B8C61)

#### 操作步骤

1.  设置断点，进入调试模式。
2.  开启反向调试开关后，在Debugger中会出现反向调试相关按钮。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/6f/v3/Fpq13aIdRwO2C3sXPBEtCA/zh-cn_image_0000002594634224.png?HW-CC-KV=V1&HW-CC-Date=20260612T073859Z&HW-CC-Expire=86400&HW-CC-Sign=0FE2ADBB576DDA38CFFD4EAF4E053964FF29269A1ED19E0B47E30B3CB5495346)
    
    需要查看历史调试信息时，点击“Open Time Travel Debug”按钮![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/37/v3/-ZBkyV3HSlanbGU-hbgpNw/zh-cn_image_0000002594474312.png?HW-CC-KV=V1&HW-CC-Date=20260612T073859Z&HW-CC-Expire=86400&HW-CC-Sign=CFAA7B5DA17F2B30782E2CDD26B4451273B790C4E1B3D598DC094C5C67F50D8F)进入反向调试模式，您可以在此模式下进行调试。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/be/v3/n09hJ3lHR4iTb69qaxDe0g/zh-cn_image_0000002594634232.png?HW-CC-KV=V1&HW-CC-Date=20260612T073859Z&HW-CC-Expire=86400&HW-CC-Sign=25DDC9F879B937462C1C64F5D74E97C592FD6146A548AAB67509F2B90CE0BFF5)
    
    其中，操作按钮说明如下：
    
    *   ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/ac/v3/vWodzXMlR06CEUmPRKClng/zh-cn_image_0000002594474318.png?HW-CC-KV=V1&HW-CC-Date=20260612T073859Z&HW-CC-Expire=86400&HW-CC-Sign=3AA407704F88D62C04C146FDA32CD9DB48B308F0113EB6F5CD67891541EA50AD)：退出反向调试模式。
    *   ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/48/v3/cTUIW0wIStCakA3Amg5Mdg/zh-cn_image_0000002594474314.png?HW-CC-KV=V1&HW-CC-Date=20260612T073859Z&HW-CC-Expire=86400&HW-CC-Sign=4B71A7C1321318C83EDCEF5FBA6823F0859E14403F342B3FDD1C668647D23F71)：切换当前高亮行到下一个历史断点，并显示断点相关信息。
    *   ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/1f/v3/XJbqc5bwTtyOhxiyOB6fsQ/zh-cn_image_0000002594474310.png?HW-CC-KV=V1&HW-CC-Date=20260612T073859Z&HW-CC-Expire=86400&HW-CC-Sign=8A4ED1F3C7FA26FBEBEAA6FB2E0E21781193A93BB2958DA83418A5BE65F6E0FD)：切换当前高亮行到上一个历史断点，并显示断点相关信息。
    *   ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/21/v3/E-TGK0ThR0a376DjZab5CA/zh-cn_image_0000002594634228.png?HW-CC-KV=V1&HW-CC-Date=20260612T073859Z&HW-CC-Expire=86400&HW-CC-Sign=8036B44BC93B26517A24712F3132528A91FDFB8AF8CD17823CE407CFDE9CE3E0)：切换当前高亮行到下一个历史行，并显示历史行相关信息。
    *   ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/42/v3/4XUq8PwxSTyI8guxG8MUjw/zh-cn_image_0000002624993675.png?HW-CC-KV=V1&HW-CC-Date=20260612T073859Z&HW-CC-Expire=86400&HW-CC-Sign=32BF31F118029F120552C514264DE96CD9C00DAA4B092987C9FFEF7583F6691E)：切换当前高亮行到上一个历史行，并显示历史行相关信息。
    

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/c4/v3/54NZD_ANRVyG367f8zBuOg/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073859Z&HW-CC-Expire=86400&HW-CC-Sign=B89969E834F1012347A864C8D60EED9F05F28025891A0D2F0E59C9B38B3BCE4D)

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