[QT] 断点调试

目录

一 设置断点

二 调试窗口信息

2.1 默认窗口

2.2 详细窗口属性

三 调试方法和技巧


一 设置断点

在QtCreator中我们有两种方式添加断点。

  • 用鼠标直接点击代码编辑窗口中的某一行
  • 按下F9添加/取消断点(操作的是当前鼠标光标所在的代码行)

二 调试窗口信息

2.1 默认窗口

  • 这里列出几个默认的窗口
  1. 红色圆点表示断点,黄色箭头表示当前程序运行位置。
  2. stack: 堆栈表示当前函数之间的调用关系,比如位于哪个函数体中。
  3. Locals: 本地Local区域:当前堆栈中的属性值
  4. Expressions:监视窗口:动态监视某个变量的值,即使它们不在当前作用域内。
  5. Beakpoints : 断点信息窗口

2.2 详细窗口属性

红色加粗窗口是重点关注也是常用的窗口。

  • stack: 显示当前的函数调用堆栈,帮助你了解程序执行的路径,以及它是如何到达当前执行点的。你可以点击堆栈中的任何一行来跳转到相应的源代码位置。
  • Beakpoints : 列出了程序中设置的所有断点,允许你管理(添加、删除、启用/禁用)断点,并可以为断点设置条件,比如只有当某个变量满足特定条件时才触发断点。
  • Threads列出程序中的所有线程,并允许你选择要调试的线程。
  • Modules: 当前调用的模块信息,其实可以理解为动态库/静态库的信息(比如模块名称、路径、基地址、大小)
  • Source Files:当前包含的所有源码文件。
  • Locals: 当前作用域中所有局部变量以及类成员属性及其对应的值。这里值得注意的是,它并不会显示当前断点处程序上下文的所有变量属性(上下文: 当前程序运行处的所有状态信息,包括局部变量,外部可调用的全局变量,执行线程,调用堆栈等)。
  • Expressions:监视窗口:动态监视某个变量的值,即使它们不在当前作用域内。允许你监视特定表达式或变量的值。
  • Registers: 对于底层调试,显示CPU寄存器的当前值,这对于理解程序的低级执行状态很有用,尤其是在进行硬件相关的调试时。(这里要注意如果打开了这个窗口但是GDB配置有误,那么调试就会比终止提示TheThe GDB process terminated)
  • Debugger Log: 调试日志。
  • Editor(代码编辑器):当前正在编辑的窗口 比如.cpp
  • Automatically Hide View Title Bars: 是否隐藏掉这些调试窗口的标题栏

三 调试方法和技巧

方法:

F5开始断点调试
F9增加/删除断点
F10单步调试 遇到函数不会进入
F11单步进入 会进入函数,任何函数都会单步进入。
shift+F11单步退出 退出当前函数

技巧:

  • 当F5启动断点调试后,继续使用F5直接跳到下一个断点处
  • 可以使用鼠标拖动当前代码编辑器中的黄色箭头来移动当前的调试位置。
  • 可以用鼠标右键框选中变量,然后用左键拖动到监视器窗口中来监视该变量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/326100.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 信号保存

💓博主CSDN主页:麻辣韭菜💓   ⏩专栏分类:Linux知识分享⏪   🚚代码仓库:Linux代码练习🚚   🌹关注我🫵带你学习更多Linux知识   🔝 目录 前言 阻塞信号 1. 信号其他相关常见…

MFC的CPen与CBush画图对象使用步骤

在MFC中,CPen和CBrush是两个常用的绘图对象,分别用于定义画笔和画刷,可以用于绘制图形、填充区域等。下面我会详细介绍如何在MFC中使用CPen和CBrush来绘制和填充图形。 使用 CPen 绘制图形: 创建 CPen 对象: 首先&am…

JAVA基础面试题(第十一篇)上! JVM

Hello好久不见!,最近我们讲更新JVM部分的面试题。 JVM 这块比较难理解,而且也是不擅长的点。所以今天我更新一下JVM希望小伙伴们能在面试中取得好成绩! JVM 1. 什么是JVM内存结构? jvm将虚拟机分为5大区域&#xff0…

单片机智能灯控制系统源程序仿真原理图与论文全套资料

目录 1、设计描述 2、仿真图 3、程序 4、资料内容 资料下载地址:单片机智能灯控制系统源程序仿真原理图与论文全套资料下载 1、设计描述 设计了一款智能控制系统。 AT89C51LCD1602DS1302按键LED组成了这样一个完整的设计。 P2.0-P2.3 4个LED等代表庭院内的4…

前端动态旋转地球背景

效果图 贴下源码 <template><div class"map-bg"><div class"canvas" id"canvs"></div><canvas class"canvasxk" id"canv"></canvas></div> </template><script setup …

Java RMI SERVER命令执行漏洞

Java RMI SERVER命令执行漏洞 一、介绍二、原理三、复现准备四、漏洞复现 一、介绍 RMI全称是Remote Method Invocation&#xff08;远程方法调用&#xff09;&#xff0c;是专为Java环境设计的远程方法调用机制&#xff0c;远程服务器提供API&#xff0c;客户端根据API提供相…

华为eNSP中型企业局域网网络规划设计(上)

敲半天一个闪退全™给我干没了呜呜呜&#xff0c;eNSP&#xff0c;wcnm&#xff01;wcnm&#xff01;wcnm&#xff01; →b站传送门&#xff0c;感谢大佬← →华为eNSP中型企业局域网网络规划设计&#xff08;下&#xff09;← →拓扑图传送门&#xff0c;可以自己配置着玩←…

linux的信号量的使用

1.信号量 在多线程情况下&#xff0c;线程要进入关键代码就得获取信号量&#xff08;钥匙&#xff09;{sem_init(&sem, 0, 0);}&#xff0c;没有信号量的情况下就一直等待sem_wait(&sem)&#xff0c;只到别人把钥匙&#xff08;sem_post(&sem)&#xff09;给你。 …

Hadoop3:HDFS的Shell操作(常用命令汇总)

一、简介 什么是HDFS的Shell操作&#xff1f; 很简单&#xff0c;就是在Linux的终端&#xff0c;通过命令来操作HDFS。 如果&#xff0c;你们学习过git、docker、k8s&#xff0c;应该会发现&#xff0c;这些命令的特点和shell命令非常相似 二、常用命令 1、准备工作相关命令…

Deckset for Mac:让演示文稿制作更轻松

还在为繁琐的演示文稿制作而烦恼吗&#xff1f;Deckset for Mac来帮您解决&#xff01;它支持Markdown语言&#xff0c;让您只需专注于内容的创作&#xff0c;无需在排版和设计上耗费过多精力。丰富的主题和布局选项&#xff0c;让您能够轻松打造出专业级的演示文稿。快来体验D…

Django项目规范化(虚拟环境、目录结构、数据库权限、建表、Media、日志)

Django项目规范化&#xff08;虚拟环境、目录结构、数据库权限、建表、Media、日志&#xff09; 目录 Django项目规范化&#xff08;虚拟环境、目录结构、数据库权限、建表、Media、日志&#xff09;前言虚拟环境pycharm创建虚拟环境 创建Django项目调整目录结构数据库规范创建…

树莓派python开发

树莓派自带thonny 点亮LED灯 import RPi.GPIO as GPIO import time# 设置GPIO模式为BCM GPIO.setmode(GPIO.BCM)# 设置LED引脚 led_pin 18# 设置LED引脚为输出 GPIO.setup(led_pin, GPIO.OUT)# 点亮LED GPIO.output(led_pin, GPIO.HIGH)# 延时2秒 time.sleep(2)# 关闭LED GPI…

经纬恒润亮相AutoSec中国汽车网络安全及数据安全合规峰会

近日&#xff0c;由谈思实验室、谈思汽车、上海市车联网协会联合举办的AutoSec 8周年年会暨中国汽车网络安全及数据安全合规峰会在上海举办。本次大会主要聚焦数据合规、汽车网络与数据安全趋势与挑战、软件供应链安全、车辆网络安全、网络安全管理等话题。经纬恒润作为智能网联…

海外盲盒小程序:探索世界,发现无限可能

在数字时代&#xff0c;我们渴望突破地域的界限&#xff0c;体验不同文化&#xff0c;感受世界的多彩。为了满足这一需求&#xff0c;我们隆重推出“海外盲盒小程序”——一个让你足不出户&#xff0c;就能探索世界、发现无限可能的神奇平台。 一、独特的盲盒体验 打开“海外盲…

【数据结构】心里有 “B树“ 么?

序言 在学习数据库之前&#xff0c;博主觉得有必要学习B树系列&#xff0c;以便之后更好地了解其原理&#xff0c;既然说到这里了&#xff0c;那就再说几句&#xff0c;数据库是帮助我们管理存在硬件当中的数据&#xff0c;如果要从中读取数据&#xff0c;就要考虑到硬件的读取…

Vue Excel 文件流导出乱码快速解决方案

今日在开发一个导出功能&#xff0c;原本一个非常简单的功能&#xff0c;却没想里面藏了陷阱&#xff01; 背景 前端导出的文件流乱码&#xff0c;此时确定非后端问题&#xff08;可以在postman导出是否正常来判断&#xff09;。 前端导出&#xff1a; 后端正常数据&#xf…

Linux —— 线程

Linux —— 线程 什么是线程Linux如何实现线程Winodws如何实现线程使用一下线程pthread_create函数原型参数说明返回值 如何解决 ps -aL 查看线程线程为什么轻量 我们今天进入线程的学习&#xff1a; 什么是线程 我们先来了解一个笼统的概念&#xff1a;简单来说&#xff0c;…

【计算机网络篇】数据链路层(8)共享式以太网的退避算法和信道利用率

文章目录 &#x1f6f8;共享式以太网的退避算法&#x1f95a;截断二进制指数算法 &#x1f354;共享式以太网的信道利用率 &#x1f6f8;共享式以太网的退避算法 在使用CSMA/CD协议的共享总线以太网中&#xff0c;正在发送帧的站点一边发送帧一边检测碰撞&#xff0c;当检测到…

Mysql进阶-sql优化篇

sql优化 sql优化insert优化批量插入手动提交事务主键顺序插入大批量插入数据 主键优化数据组织方式页分裂页合并主键设计原则 order by 优化原则 group by优化limit优化count 优化count的几种用法 update优化 sql优化 insert优化 批量插入 Insert into tb_test values(1,Tom…

百信银行的喜和忧:业绩与不良规模同增,曾因踩红线被罚500万元

近日&#xff0c;有报道指出&#xff0c;陪伴中信百信银行股份有限公司&#xff08;下称“百信银行”&#xff09;走过七年光阴的首任行长李如东已离任&#xff0c;离任原因或与“7年轮岗”监管规定有关。作为替代&#xff0c;中信银行科技信息部总经理寇冠出任百信银行行长。 …