【错误记录】Qt 单步调试 F10 快捷键失灵 ( Start and Break on Main 和 单步调试 默认都是 F10 快捷键 | 单步调试技巧 - 转换汇编指令模式 )
Debug 的时候 , 如果直接使用 单步调试 出现终止的情况 , 可以点击下面的 " Switchs the debugger to instruction-wise operation mode " 按钮 , 先转换为 汇编指令 模式 , 按 F10 向前走一步 , 然后再切换回 代码模式 , 即可进行单步调试 ;
一、报错信息
在 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 快捷键 成功使用 单步调试 功能 ;

更多推荐



所有评论(0)