C (Qt)软件调试-断点高级用法_第1页
C (Qt)软件调试-断点高级用法_第2页
C (Qt)软件调试-断点高级用法_第3页
C (Qt)软件调试-断点高级用法_第4页
C (Qt)软件调试-断点高级用法_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1概述2断点高级用法条件断点日志断点/记录点/消息追踪点函数断点命中次数断点异常断点等待断点/触发断点临时断点/一次性断点启用/禁用断点3VisualStudio设置断点条件表达式命中次数筛选多条件断点设置操作/日志断点设置函数断点设置异常断点保存断点到文件启用/禁用断点4VSCode设置断点设置函数断点条件断点命中次数日志消息断点等待断点异常断点禁用/启用断点5QtCreator断点管调试视图管添加断点窗口启用/禁用断点函数断点异常断点一次性断点条件断点忽略次数断点执行命令跟踪点6更多精彩内容👉内容导航👉C++软件调试异常定位11概述除了基本的断点设置外,还有许多高级用法可以让调试过程更加高效和精确。本文中会详细说明在VSCode、VisualStudio、QtCreator这三种IDE中断点的高级用演示环境VisualStudioQtVS22断点高级用法多个条件之间可以用逻辑运算符连接(如&&、||)。++x>变量检查: x>x>10&&y<逻辑运算: x>10&&y<x+y>算术运算: x+y>x==比较运算: x==obj.member>成员访问: obj.member>arr[0]>数组索引: arr[0]>*ptr>指针和引用: *ptr>日志断点/记录点/日志断点(日志断点(LogBreakpoints)是一种特殊的断点类型,它允许你在程序执行到特定位日志断点的特点命中次数断点(命中次数断点(HitCountBreakpoint)是一种调试工具,它允许开发者设置断点在被可用语句只在第10前十次不中断,10从第102使用场景等待断点/临时断点/一次后即自动移除。这意味着一旦程序执行达到这个断点并暂停,断点就会自动消临时断点的特点启用/禁用断点的作用启用断点的作用33Visual方法1:鼠标选中行,按F9键可创建/方法2:鼠标在代码行左侧点击可创建/启动调试后只有a的值为5X点击表达式后,已保存前的Xaa

的值更改时才会命中断点5如设置【命中次数】【=】,输入,则只有这个断点命中第55筛选ID和进程名、线程号和线程名,可以判断2 ThreadId===

&ID&MachineName=ProcessId=ProcessName=ThreadId=ThreadName=设置操作/在消息框中键入要输出的字符串(无需引号)在大括号中。例如,如果要在输出控制台中显 变量的值,请在消息文本中键 关键字显示内容关键字显示内容滴答计数(Windows方法1方法2方法3 :全局作用域下名为fun()

:使用“!”{MethodA,,{function,,C++{MethodA,,{function,,ule]}[+<lineoffsetfromstartofule]}[+<lineoffsetfromstartof方法1Ctrl+Alt+方法2:快捷 Ctrl+Alt+启用/方法1:在断点位置鼠标右键,选择【启用/选复选框就启用断点,取消勾选就禁用断点,或者通过工具栏可禁用/方法1:鼠标选中行,按F9键可创建/方法2:鼠标在代码行左侧点击可创建/方法3设置方法方法1+方法2+

VSCode可配置不同的编译器,而不同编译器对应的调试工具支持的函数断点语法也存在一 :全局作用域下名为fun():A作用域下的fun函数,可能是A的成员函数,也可能是A:使用“!”{MethodA,,{function,,C++{MethodA,,{function,,ule]}[+<lineoffsetfromstartofule]}[+<lineoffsetfromstartof:名为fun()rbreakgdbrbreak

设置方法设置方法设置方法语法在消息框中键入要输出的字符串(无需引号)在大括号中。例如,如果要在输出控制台中显 变量的值,请在消息文本中键 下列关键字cdb全部支持,gdb关键字显示内容滴答计数(Windowsa>如下图所示,设置一个条件断点,条件 a>设置方法在【调试和运行】窗口、【断点】栏,勾选【AllExceptionse,可设置异常断点类型 e禁用/方法1:在断点位置鼠标右键,选择【启用/方法3:【运行】【启用/55Qt注意调试程序尽量使用高版本的QtCreator,QtCreator调试功能做得并不是很好,复杂断点管点击窗口右下角【视图(V)或者在菜单栏选择【视图(V)】【视图(V)BreakpointPreset调试视图管按F5或者在菜单栏选择【视图(V)】【视图(V)BreakpointPresetx、x四添加断点-Qt基断点类型

FileNameandLineNumber设置断点类 文件名行谔启用地址表达式函数

仅触发一次(0): 设置一次性断条件忽略次数

条件断点表达 命令 断点命中跳过程

GDB令线程信患(T):(全部)路径模块

0佞默认引 勾选后断点个会中0仅踉踪点消患(M)将消息打印到DebuggerLog(置模块 确 取启用/在断点位置,鼠标右键选择【启用/在断点管理窗口选中断点,右键选择【启用/

,为所有名为fun使 抛出异常,并且异常未被捕获处理时默认情况下会导致程序终止使 抛出异常后,异常被捕获则不会触发中断打开【添加断点】窗口,选择【breakwhenC++exceptionisthrown获异常后会在异常抛出位 触发中断打开【添加断点】窗口,选择【breakwhenc++exceptioniscaught获异常后会在捕获异 位置触发中断aa==运行程序后当变量a的值为10表示该断点命中n次,再次运行后由忽略n在【命令】栏输入gdb在【视图】中勾选【DebuggerLog运行程序,命中断点,触发中断后,在【DebuggerLog】窗口中可看到gdb命令执行结程序运行后命中断点,不会触发中断,会在【D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论