一、报错信息



在 Qt 中进行 代码调试 , 出现如下问题 :

在代码中打上断点 , 然后点击 左下角的 Debug 运行按钮 ;

在这里插入图片描述

运行后 , 程序在断点处停下 , 在右侧打印出了当前的堆栈信息 ;

在这里插入图片描述

在 " 菜单栏 / 调试 " 对话框下 , 看到 单步跳过 快捷键是 F10 ,

在这里插入图片描述

按下 F10 键 , 调试终止了 , 右侧的堆栈信息也没了 ;

在这里插入图片描述

不只是 按 F10 快捷键 , 点击 " 菜单栏 / 调试 / 单步跳过 " 选项 , 也会终止调试 ;


完整过程如下 : Debug 模式运行后 , 在第一个断点位置停下了 , 堆栈信息也成功打印了出来 , 两个局部变量都是默认值 ; 按下 F10 之后 , 发现没有进行下一步调试 , 直接退出了 Debug 运行 ;

在这里插入图片描述





二、快捷键冲突问题解决



问题原因 是 F10 快捷键 冲突导致 ;

在调试模式下 , 查看 " 菜单栏 / 调试 " 下 , 只有 单步跳过 设置为 F10 快捷键 ;

在这里插入图片描述

退出调试模式后 , 再次打开 " 菜单栏 / 调试 " 菜单选项 , 发现 Start and Break on Main 和 单步调试 的 快捷键都是 F10 ;

在这里插入图片描述

这里提一下 , 在 Qt 的调试过程中 , Start and Break on Main 选项的作用是控制程序启动时是否暂停执行 , 并且是否在程序的 main 函数中设置断点 , 当程序执行到 main() 函数时 , 自动中断并暂停程序的执行 ;

选择 " 菜单栏 / 工具 " 选项 ,

在这里插入图片描述

选择左侧的 " 环境 " 选项 , 在右侧选择 " 键盘 " 面板 , 在 快捷键 Keyboard Shortcuts 中搜索 " F10 " , 搜索结果如下图所示 :

在这里插入图片描述

将 Start and Break on Main 选项 的 快捷键 直接干掉 , 这个功能不常用 ;

选中 Start and Break on Main 选项 , 在快捷键中点击 删除 按钮 ,

在这里插入图片描述

删除 后 点击 Apply 应用 ;

在这里插入图片描述





三、单步调试技巧 - 转换汇编指令模式



Debug 的时候 , 如果直接使用 单步调试 出现终止的情况 , 可以点击下面的 " Switchs the debugger to instruction-wise operation mode " 按钮 , 先转换为 汇编指令 模式 , 按 F10 向前走一步 , 然后再切换回 代码模式 , 即可进行单步调试 ;

在这里插入图片描述

直接单步调试 , 出现问题 , 直接退出了 ;

在这里插入图片描述

进入调试模式后 , 先转为 汇编指令模式 , 单步调试走一步 , 然后再切换成 代码模式 , 此时就可以使用 F10 快捷键 成功使用 单步调试 功能 ;

在这里插入图片描述

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐