UNIX--GDB调试
通常,在为调试而编译时,我们会关掉编译器优化选项(
-O
),并打开调试选项(-g
)。另外,-Wall
在尽量不影响程序行为的情况下选项打开所有 warning,也可以发现许多问题,避免一些不必要的 BUG。
GDB 命令-启动、退出、查看代码
- 启动和退出
gdb 可执行程序 quit
- 给程序设置参数/获取设置参数
set args 10 20 show args
- GDB 使用帮助
help - 查看当前文件代码
list/l 从默认位置显示 list/l 行号 从指定的行显示 list/l 函数名 从指定的函数显示
- 查看非当前文件代码
list/l 文件名:行号 list/l 文件名:函数名
- 设置显示的行数
show list/listsize set list/listsize 行数
GDB 命令-断点操作
- 设置断点
b/break 行号 b/break 函数名 b/break 文件名:行号 b/break 文件名:函数
- 查看断点
i/info b/break
- 删除断点
d/del/delete 断点编号
- 设置断点无效
dis/disable 断点编号
- 设置断点生效
ena/enable 断点编号
- 设置条件断点(一般用在循环的位置)
b/break 10 if i==5
GDB命令-调试命令
- 运行GDB程序
start 程序停在第一行 run 遇到断点才停
- 继续运行,到一个断点停
c/continue
- 向下执行一行代码,不会进入函数体
n/next
- 变量操作
p/print 变量名 打印变量值 ptype 变量名 打印变量类型
- 向下单步调试 遇到函数进入函数体
s/step finish 跳出函数体
- 自动变量操作
display num 自动打印指定变量的值 i/info display undisplay 编号
- 其他操作
set var 变量名=变量值 until 跳出循环
相关文章:
UNIX--GDB调试
通常,在为调试而编译时,我们会关掉编译器优化选项(-O),并打开调试选项(-g)。另外,-Wall 在尽量不影响程序行为的情况下选项打开所有 warning,也可以发现许多问题,避免一些不必要的 BUG。 GDB 命令-启动、退…...
孤单数算法
1.背景 腾讯终面:孤单的QQ号码怎么找? 问题一:有n个QQ号码,除1个孤单的QQ号码外,其余的QQ号码都是成双成对的,求这个孤单的QQ号码,要求:时间复杂度为O(n), 空间复杂度为O(1). 问题…...
triangulate_object_model_3d算子总结
目录 1.去掉固定方向的点云干扰 2.增加八叉树深度,实现更高细节级别的三角测量 3.腐蚀和膨胀,得到更平滑的点云 1.去掉固定方向的点云干扰 例程:triangulate_object_model_3d_xyz_mapping.hdev...

ZincSearch Java 客户端教程
ZincSearch Zinc 简单、强大,不了解的同学可以参见我之前的博客。今天我们这里谈谈 Java 环境如何集成 Zinc 客户端,跟如何使用的。 安装 Zinc 到 Github 的官方 Releases 下载: 我的是 Windows 开发环境,下载 zincsearch_0.4…...

数据结构(一)(嵌入式学习)
数据结构干货总结(一)基础线性表的顺序表示线性表的链式表示单链表双链表循环链表循环单链表循环双链表栈顺序存储链式存储队列队列的定义队列的常见基本操作队列的顺序存储结构顺序队列循环队列队列的链式存储结构树概念二叉树二叉树的创建基础 数据&a…...
合成复用原则-快速理解
什么是合成/聚合复用原则? 合成/聚合复用原则是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。 简述为:要尽量使用合成/聚合,尽量不要使用继承…...

Scala04 方法与函数
Scala04 方法与函数 Scala 中的也有方法和函数的概念。 Scala中的 方法 是类的一部分。 Scala中的 函数 是一个对象,可以赋值给变量。 在类中定义的函数就是方法 4.1 方法 Scala 中方法 与 Java 中类似,是组成类的一部分 4.1.1 语法结构 格式&#x…...
XJTUSE专业课与实验指南(已经开源)
文章目录XJTUSE专业课与实验指南大一小学期大二上课程实验大二下课程实验大二小学期大三上课程实验大三下课程实验XJTUSE专业课与实验指南 github地址:https://github.com/yijunquan-afk/XJTUSE-NOTES.git 📄写在前面 1️⃣ 本篇文章仅供参考࿰…...

Spring面试专题
讲师:邓澎波 Spring面试专题 1.Spring应该很熟悉吧?来介绍下你的Spring的理解 1.1 Spring的发展历程 先介绍Spring是怎么来的,发展中有哪些核心的节点,当前的最新版本是什么等 通过上图可以比较清晰的看到Spring的各个时间版本…...
【truncate、delete和drop的6大区别!】
在MySQL中,truncate、delete和drop是三个常用的命令,它们可以用于删除表或表中的数据,下面是它们的六大区别: 语法不同: truncate和delete是SQL语句,drop是DDL(数据定义语言)语句。…...
如何入门Vue:掌握Vue的核心概念和基本用法
Vue是一种流行的JavaScript框架,它可以让开发者更容易地构建响应式的用户界面。Vue的设计理念是简单易懂,它的核心库只关注视图层,可以与其它库或现有项目很好地结合。在本文中,我将介绍Vue的基础概念和如何开始使用Vue。Vue的基本…...

APM飞控使用动捕等外部定位
本文初次写于2023.03.03,pixhawk飞控应该是刷写了ArduPilot 4.1以上的版本。 机载计算机通过WIFI和vrpn_ros_client获取动捕系统(vicon或者nokov)的无人机定位数据(x,y,z四元数),然…...

【vulhub漏洞复现】CVE-2013-4547 Nginx 文件名逻辑漏洞
一、漏洞详情影响版本 Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7通过%00截断绕过后缀名的限制,使上传的php内容文件被解析执行。当Nginx得到一个用户请求时,首先对url进行解析,进行正则匹配,如果匹配到以.php后缀结尾的文件名&#x…...
Kubernetes中配置livenessProbe、readinessProbe和startupProbe
livenessProbe、readinessProbe和startupProbe作用kubelet使用livenessProbe(存活探针)来判断何时重启容器。例如,当程序中产生死锁的时候,程序还在运行,通过livenessProbe可以检测到程序已不能正常提供服务。这种情况…...

冰箱压缩机 方案
压缩机是制冷系统的心脏,它从吸气管吸入低温低压的制冷剂气体,通过电机运转带动活塞对其进行压缩后,向排气管排出高温高压的制冷剂气体,为制冷循环提供动力,从而实现压缩→冷凝→膨胀→蒸发 ( 吸热 ) 的制冷循环。压缩…...

一文带你入门,领略angular风采(上)!!!
话不多说,上代码!!! 一、脚手架创建项目 1.安装脚手架指令 npm install -g angular/cli 2.创建项目 ng new my-app(ng new 项目名) 3.功能选择 4.切换到创建好的项目上 cd my-app 5.安装依赖 npm install 6.运行项目 npm start或…...

SpringMVC 参数绑定(视图传参到控制器)
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...

Three.js高级应用--利用Three.js+WebGL实现fbx和obj格式模型的自定义加载
通过对webgl和three.js的不断学习与实践,在三维应用场景建设过程中,利用Three.js与webgl配合可以实现大部分三维场景的应用需求,这一篇主要讲述如何利用Three.js加载已有的模型,支持的三维模型格式有.fbx和.obj,同时.o…...
Go struct
每个无名结构体类型的字面形式均由struct关键字开头,后面跟着用一对大括号{},其中包裹着的一系列字段(field)声明。 一般来说,每个字段声明由一个字段名和字段类型组成。一个结构体类型的字段数目可以为0。struct {tit…...
Redis多线程模型源码解析
1. 配置启用多线程 默认情况下多线程是默认关闭的,如果想要启动多线程,需要在配置文件中做适当的修改。 修改redis.conf 文件如下 io-threads 4 #启用的 io 线程数量 io-threads-do-reads yes #读请求也使用io线程2 源码解析 进入到Redis的main入口函…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...

基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...