掌握高效实用的VS调试技巧
1.编程常见的错误
1.1编译型错误
编程编译型错误是指在编译代码时发现的错误。编译器在编译过程中会检查代码是否符合语法规范和语义要求,如果发现错误会产生编译错误。
直接看错误提示信息(双击),解决问题。或者凭借经验就可以搞定。相对来说简单。
如下图所示:
以下是一些常见的编译型错误:
-
语法错误:代码不符合编程语言的语法规范,常见的语法错误包括拼写错误、缺少分号、括号不匹配等。
-
类型错误:变量或表达式的数据类型不匹配,例如将字符串赋值给整数变量。
-
未声明的标识符:使用了未声明的变量、函数或类名。
-
重复定义:重复声明、定义了同名的变量、函数或类。
-
缺少头文件或引用错误:在C/C++程序中,使用了未包含的头文件或引用了未定义的标识符。
-
语义错误:代码逻辑不合理或不符合语义要求,例如使用了未初始化的变量、使用了无效的循环条件等。
-
数组越界:访问数组时超出了数组的有效范围。
-
语义冲突:代码存在歧义或语义冲突,例如函数返回类型与函数定义不一致、重载函数无法区分等。
-
缺少库文件或链接错误:在链接阶段找不到需要的库文件或链接时出现错误。
-
操作符错误:使用了错误的操作符或操作符的操作数类型不匹配。
编译型错误需要在编译前进行修复,通常会在编译器输出错误信息,指示出错的代码行数和具体错误信息,以帮助开发人员进行修复。
1.2链接型错误
编程链接型错误是指在将多个源文件链接成可执行文件时出现的错误。链接器负责将不同源文件中的代码和数据合并在一起,并解决函数和变量的引用关系。
看错误提示信息,主要在代码中找到错误信息中的标识符,然后定位问题所在。一般是标识符名不存在或者拼写错误。
如下图所示:
以下是一些常见的链接型错误:
-
未定义的符号:代码中引用了其他源文件中定义的函数或变量,但链接器找不到其定义。
-
多重定义:多个源文件中定义了同名的函数或变量,链接器无法决定使用哪一个定义。
-
符号重定位错误:链接器无法正确将不同源文件中的代码和数据关联起来。
-
重复符号:同一个源文件中定义了多次同名的函数或变量。
-
引用符号解析错误:链接器无法正确解析函数或变量的引用关系。
-
缺少库文件:链接器无法找到需要的库文件或库文件不完整。
-
内存溢出:链接后的可执行文件大小超过了系统可用的内存空间。
-
地址冲突:多个源文件中定义了具有相同地址的变量。
1.3运行时错误
编程运行时错误是指在程序执行过程中出现的错误,也称为异常。这些错误会导致程序的意外行为或崩溃。
借助调试,逐步定位问题,最难搞。
如下图所示:
这里我们使用函数递归来遍历二叉树时,将递归结束条件屏蔽后,就会出现栈溢出导致程序运行错误
以下是一些常见的运行时错误:
-
空指针异常:当程序试图访问一个空指针时引发的错误。
-
数组越界异常:当程序试图访问数组中超出有效索引范围的元素时引发的错误。
-
除以零异常:当程序试图执行除以零的操作时引发的错误。
-
类型转换异常:当程序试图将一个不兼容的数据类型转换为另一种类型时引发的错误。
-
文件操作异常:当程序试图打开、读取或写入文件时发生了错误。
-
内存分配异常:当程序试图分配或释放内存时出现错误。
-
栈溢出:当程序递归调用层级过深或使用过多局部变量时导致程序栈溢出。
-
死锁:在多线程编程中,当两个或多个线程相互等待对方释放锁导致程序无法继续执行时发生的错误。
-
无限循环:当程序进入一个无法退出的循环时导致程序永远执行下去。
-
逻辑错误:程序逻辑的错误,导致程序得到错误的结果。
运行时错误通常会导致程序崩溃或产生不可预测的结果。为了解决运行时错误,可以使用调试工具来跟踪错误发生的位置,并检查代码逻辑以发现错误。此外,异常处理机制可以用于捕获和处理运行时错误,使程序在出现错误时能够进行适当的处理,避免程序崩溃。
2.调试
2.1什么是调试
- 调试(Debugging / Debug),又称除错,是发现和减少计算机程序或电子仪器设备中程序错误的一个过程。
- 调试的基本步骤
✨发现程序错误的存在
✨以隔离、消除等方式对错误进行定位
✨确定错误产生的原因
✨提出纠正错误的解决办法
✨对程序错误予以改正,重新测试
2.2Debug和Release的介绍
Debug
通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。
我们写代码通常使用debug版本:
Release
称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。
3.Windows环境调试介绍
首先在环境中选择 debug 选项,才能使代码正常调试。
如下图所示:
3.1使用快捷键
最常使用的几个快捷键:
- F5
启动调试,经常用来直接跳到下一个断点处。 - F9
创建断点和取消断点
断点的重要作用,可以在程序的任意位置设置断点。
这样就可以使得程序在想要的位置随意停止执行,继而一步步执行下去。
例如,当我们发现使用二叉树前序遍历时程序会异常,经过思考我们发现可能是前序遍历函数出现的问题,就可以在使用前序遍历函数的那一行按下F9创建断点,然后按下F5启动调试,程序直接跳到前序遍历函数这里:
使用F5开始调试:
- F10
逐过程,通常用来处理一个过程,一个过程可以是一次函数调用,或者是一条语句。 - F11
逐语句,就是每次都执行一条语句,但是这个快捷键可以使我们的执行逻辑进入函数内部(这是最长用的)。
开始调试后,进入前序遍历函数内部,进行逐语句调试
-
CTRL + F5
开始执行不调试,如果你想让程序直接运行起来而不调试就可以直接使用。 -
停止调试就可以点击如下图所示的红色图标
- 想知道更多快捷键?点我
3.2调试的时候可以查看的程序信息
3.2.1查看临时变量的值
在调试开始之后,用于观察变量的值。
步骤如下图所示:
使用断点,开始调试到断点位置后,就可以使用F11逐语句调试,然后就可以利用监视查看当前临时变量的值了,如下图所示:
这里我们发现数组还没有初始化,这是因为第79行还没有执行,当我们按下F11进行下一句的时候,数组就会初始化完毕了:
3.2.2查看内存信息
在调试开始之后,用于观察内存信息。
步骤如下图所示:
使用断点,开始调试到断点位置后,就可以使用F11逐语句调试,然后就可以利用内存观察内存信息了,如下图所示:
如果想显示的更清楚一些,可以将显示的列改成4列,让它一行显示4个字节:
对于我们想查看的内存信息,可以在上方地址栏输入我们已知的地址进行查看:
我们知道数组名就是数组首元素地址,所以我们在地址栏直接输入数组名,回车即可:
这样我们就可以看到每个地址对应的值了,注意这里是十六进制显示
3.2.3查看调用堆栈
通过调用堆栈,可以清晰的反应函数的调用关系以及当前调用所处的位置
步骤如下图所示:
结果如下:
3.2.4查看汇编信息
可以切换到汇编代码,查看反汇编可以帮助我们更好地理解程序的执行过程和内部运行机制
步骤如下图所示:
还有一种比较直接的方法:
当调试开始后,鼠标单击右键,选择转到反汇编
结果如下:
3.2.5查看寄存器信息
可以查看当前运行环境的寄存器的使用信息。在调试过程中,查看寄存器信息可以帮助我们了解程序运行的状态和指令的执行过程。
步骤如下图所示:
结果如下:
4.多多动手,尝试调试
一定要熟练掌握调试技巧。
初学者可能80%的时间在写代码,20%的时间在调试。但是一个程序员可能20%的时间在写程序,但是80%的时间在调试。
多多使用快捷键,提升效率
✨实例
求 1!+2!+3! …+ n! ;不考虑溢出。
//sum = 1! + 2! + 3! +...
int main()
{int i = 0;int sum = 0;//保存最终结果int n = 0;int ret = 1;//保存n的阶乘scanf("%d", &n);for(i=1; i<=n; i++){int j = 0;for(j=1; j<=i; j++){ret *= j;}sum += ret;}printf("%d\n", sum);return 0;
}
这时候我们如果3,期待输出9,但实际输出的是15。
如下图所示:
我们发现结果与我们预期实现的结果不一样,这表明我们的代码可能有点问题,如果直接观察或读代码无法找出错误原因,我们就可以通过调试来寻找错因:
- 首先我们知道整个实现逻辑的重点在for循环那里,错误很可能在那里出现,所以我们就在for循环那里按F9打下断点
- 然后F5开始调试
- 在控制台输入3后,使用F11逐行调试,并搭配监视窗口观察变量值
- 发现问题
我们发现当循环到
i = 3
时,在计算3!时ret应该等于3*2 = 6
,而这里ret = 12
,再仔细观察发现:
当开始计算3!时,ret是从2开始乘积的,所以造成了3!=12,故每次计算完阶乘我们都应该将ret置为1
- 正确代码
5.结语
在写代码时,我们不可避免会出现一些错误,以下是一些提高代码正确率的小tips:
- 使用assert
- 尽量使用const
- 养成良好的编码风格
- 添加必要的注释
- 避免编码的陷阱
以上就是今天所有的内容啦~ 大家要注意多多练习,完结撒花~ 🥳🎉🎉
相关文章:
![](https://img-blog.csdnimg.cn/direct/7cdf7b59bb6f445584a421520f888f9f.png)
掌握高效实用的VS调试技巧
🔥 个人主页:大耳朵土土垚 1.编程常见的错误 1.1编译型错误 编程编译型错误是指在编译代码时发现的错误。编译器在编译过程中会检查代码是否符合语法规范和语义要求,如果发现错误会产生编译错误。 直接看错误提示信息(双击&#…...
![](https://img-blog.csdnimg.cn/direct/8ab70401eaeb417d8d2683253ccf4a34.png)
实验2 字符及字符串输入输出与分支程序设计实验
字符及字符串输入输出 从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。 分支程序设计 从键盘输入一字符,判断该字符是小写字母、大写字母、数字或者其他字符。若输入为小写字母,显示“You Input a Lo…...
![](https://img-blog.csdnimg.cn/direct/9ca69770dd8547d9a30320647790559f.png)
docker容器间网络仿真工具-pumba
docker-tc&pumba docker-tc:docker-tc项目仓库 pumba:pumba项目仓库 这两个项目理论上都可以实现对容器间的网络环境进行各种模拟干预,包括延迟,丢包,带宽限制等。 但是我在实际使用时,发现docker-tc这个工具在进行网络进行模…...
![](https://www.ngui.cc/images/no-images.jpg)
A36 STM32_HAL库函数 之PCD通用驱动 -- B -- 所有函数的介绍及使用
A36 STM32_HAL库函数 之PCD通用驱动 -- B -- 所有函数的介绍及使用 1 该驱动函数预览1.11 HAL_PCD_SOFCallback1.12 HAL_PCD_ResetCallback1.13 HAL_PCD_SuspendCallback1.14 HAL_PCD_ResumeCallback1.15 HAL_PCD_ISOOUTIncompleteCallback1.16 HAL_PCD_ISOINIncompleteCallbac…...
![](https://www.ngui.cc/images/no-images.jpg)
vue2 + element三级菜单实现模板
需求: 需要一个含有三级菜单的结构模板,用于业务快速开发。 解决: sidebar.vue <template><el-menu :default-active"defaultActive" class"el-menu-vertical-demo" active-text-color"#ffd04b"&…...
![](https://img-blog.csdnimg.cn/direct/8a1587932c6047e89f7d37094c0f9f17.jpeg#pic_center)
vue H5页面video 视频流自动播放, 解决ios不能自动播放问题
视频组件 <videostyle"width: 100%; height: 100%;object-fit: fill"class"player"refplayer_big_boxcontrolspreloadautoplay //自动播放muted //是否静音playsinline"true"x5-playsinline""webkit-playsinline"tru…...
![](https://img-blog.csdnimg.cn/direct/03e9bbd3910f4ee9afd9092d6cb945c9.jpeg)
自闭症儿童:探索症状背后的多彩内心世界
在星启帆自闭症康复中心,我们每天与一群独特而珍贵的孩子相遇——他们,是自闭症谱系障碍的患儿。自闭症,这一复杂的神经发育障碍,以其多样化的症状表现,为每个孩子的生活轨迹绘上了不同的色彩。 自闭症孩子的症状各异…...
![](https://img-blog.csdnimg.cn/direct/218c8fc6754041978f1cf8d050fcf295.png)
在Centos7上安装PostgreSQL16的详细步骤
文章目录 环境一、准备二、postgresql下载方法一:wget下载方法二:下载压缩包解压 三、创建用户组、用户四、创建数据主目录五、配置环境变量六、initdb初使化数据库七、配置服务八、设置开机自启动九、设置防火墙十、启动数据库服务 环境 CPU: 4 核心或以…...
![](https://img-blog.csdnimg.cn/direct/2151e5e5a4454f36b7961e10586fdc41.png)
MySQL 图形化界面
填完信息之后,圆圈处可以验证是否可以连接数据库 展示所有数据库(因为有的可能连上,却没有数据库显示)...
![](https://img-blog.csdnimg.cn/direct/0bd01f35bbc34dc8814abaedb3e32e99.png)
【人工智能】GPT-5的即将到来:从高中生进化到,,,博士生?
GPT-5的即将到来:从高中生进化到,博士生? 随着近月GPT-4o的出世,OpenAI也在进行一系列的采访和介绍接下来的展望和目标。 在6月22日的采访中,美国达特茅斯工程学院公布了OpenAI首席技术官米拉穆拉蒂的访谈内容。穆拉蒂确认&#…...
![](https://img-blog.csdnimg.cn/direct/e6b08d3e83a44f35a433e3f788fd97d4.png)
【收录率高丨投稿范围广 | 往届均已EI检索】第四届光学与通信技术国际学术会议(ICOCT 2024,8月9-11)
欢迎参加第四届光学与通信技术国际学术会议(ICOCT 2024),该会议将于2024年8月9-11日在南京举办。自2021年首次会议以来,ICOCT已经发展成为光学和通信领域较有影响力的国际会议之一,聚焦最前沿的技术进展与未来发展趋势…...
![](https://img-blog.csdnimg.cn/direct/f6dd1ac0577c42c6896c4a14485505f8.png)
小阿轩yx-LVS负载均衡群集
小阿轩yx-LVS负载均衡群集 构建群集服务器—通过整合多台服务器使用 LVS 达到服务器的高可用和负载均衡并以同一个 IP 地址对外提供相同的服务 LVS 群集应用基础 群集称呼来自英文单词“Cluster”在服务器领域则表示大量服务器的集合体,区分单个服务器 Cluster …...
![](https://www.ngui.cc/images/no-images.jpg)
CPP知识点记录总结
1、类的const成员函数 const成员函数的const 实际修饰的是该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。 class A {void fun() const {// 常成员函数,在函数名后用const修饰} } 一文带你入门C类和对象【十万字详解&#…...
![](https://www.ngui.cc/images/no-images.jpg)
Spring源码(一) 如何阅读 Spring 源码
学习 Spring 的源码,也可以通过 SpringBoot 搭环境。 不管是什么源码,最好写个 demo,跑起来,然后从常用的类和方法入手,跟踪调试。 配置对象 新建一个 SpringBoot 的项目, 详情见: https://b…...
![](https://www.ngui.cc/images/no-images.jpg)
【代码随想录训练营】【Day 63】【单调栈-2】| Leetcode 42, 84
【代码随想录训练营】【Day 63】【单调栈-2】| Leetcode 42, 84 需强化知识点 单调栈强化 题目 42. 接雨水 注意 python 数组反序用法 result [::-1] class Solution:def trap(self, height: List[int]) -> int:# n len(height)# leftMax, rightMax [0] * n, [0] * …...
![](https://img-blog.csdnimg.cn/direct/ea0fa78166df47619823d16a430e750e.png)
CTF常用sql注入(一)联合注入和宽字节
0x01 前言 给自己总结一下sql注入的常用姿势吧,记录一下学习 0x02 联合 联合注入的关键词是union SQL的union联合注入原理是联合两个表进行注入攻击,使用union select关键词来进行联合查询。 那么为什么我们在题目中一般是只写一个呢 因为 $sql &quo…...
![](https://www.ngui.cc/images/no-images.jpg)
薄冰英语语法学习--冠词1
冠词有2个,the 和 a /an the 叫定冠词 常用形容一类事务、特指(加强)、放在转有名词前面。 就这3个 定冠词 1. 定冠词特指某个(某些)人或某个(某些)事物 Many people came here to visit the old cast…...
![](https://img-blog.csdnimg.cn/direct/415cbbde71934edaaba01e0083fbac0c.png)
基于Java中的SSM框架实现野生动物公益保护系统项目【项目源码+论文说明】计算机毕业设计
基于Java中的SSM框架实现野生动物公益保护系统演示 摘要 本系统按照网站系统设计的基本流程,遵循系统开发生命周期法和结构化方法,基于Java语言设计并实现了野生动物公益保护系统。该系统基于浏览器/服务器模式,采用JSP技术,后台…...
![](https://img-blog.csdnimg.cn/direct/3c3a453afefb4b56abed2025501c193c.png)
c->c++(二):class
本文主要探讨C类的相关知识。 构造和析构函数 构造函数(可多个):对象产生时调用初始化class属性、分配class内部需要的动态内存 析构函数(一个):对对象消亡时调用回收分配动态内存 C提供默认构造和析构,…...
![](https://img-blog.csdnimg.cn/direct/9e36e0d1da6540e4aeda839cbec551c2.png)
11 UDP的可靠传输协议QUIC
1.如何做到可靠性传输 2.UDP与TCP,我们如何选择 3.UDP如何可靠,KCP协议在哪些方面有优势 4.KCP协议精讲(重点讲解 5.OUIC时代是否已经到来 UDP如何做到可靠传输 ACK机制重传机制 重传策略序号机制(后发的包可能先到) 3 2 1-> 2 3 1重排机制 2 3 1-> 3 2 1窗口机制 流…...
![](https://img-blog.csdnimg.cn/img_convert/a1c968d19e673ead5a911fe70da65d97.jpeg)
14-20 Vision Transformer用AI的画笔描绘新世界
概述 毫无疑问,目前最受关注且不断发展的最重要的主题之一是使用人工智能生成图像、视频和文本。大型语言模型 (LLM) 已展示出其在文本生成方面的卓越能力。它们在文本生成方面的许多问题已得到解决。然而,LLM 面临的一个主要挑战是它们有时会产生幻觉反应。 最近推出的新模…...
![](https://img-blog.csdnimg.cn/9eb071b9d8ae4b448231672d228a4cb9.png)
LVS FILTER UNUSED OPTION
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 过滤一些版图与spice网表对不上的器件。 一般后端遇不到这个问题,因为通常是需要写到网表中的decap没有写出来造成的,如下图。...
![](https://www.ngui.cc/images/no-images.jpg)
Python后端面试题
1. 文件操作w和r的区别 在Python中,文件操作模式中的w和r都表示对文件的读写操作,但它们在打开文件时的行为有所不同: r模式: 读写:这种模式允许你同时读取和写入文件。文件必须已经存在,否则会抛出一个Fi…...
![](https://www.ngui.cc/images/no-images.jpg)
docker打包 arm32v7/debian 问题总结
1.架构不同 我的宿主是x86 ,但是打包的是arm架构 安装qemu sudo apt-get install binfmt-support qemu qemu-user-static 然后使用buildx打包 docker buildx build --no-cache --platform linux/arm/v7 -t tdc_post:1.0.1 . --load 保存tar docker save -o tdc_post.tar tdc_p…...
![](https://img-blog.csdnimg.cn/direct/0d2ddb021a0447de873b4f20efcf5465.png)
【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十)
课程地址: 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发 (本篇笔记对应课程第 30 节) P30《29.数据持久化-用户首选项》 实现数据持久化在harmonyOS中有很多种方式,比较常见的是以下两…...
![](https://www.ngui.cc/images/no-images.jpg)
Vuetify3:监听当前手机还是电脑
我们在开发的时候,实现根据移动设备或PC设备来改编一些交互样式,这个时候我们需要监听宽度,在Vuetify3中可我们可以参考 显示 & 平台配合监听即可在窗口缩小的时候判断出手机还是电脑 <template><v-app><div v-if…...
![](https://img-blog.csdnimg.cn/direct/d1469f92a50e4bf8a70e50c925f12ae0.png)
Zabbix 配置钉钉告警
Zabbix 配置钉钉告警 随着企业IT运维需求的不断增加,及时、准确地获取系统告警信息显得尤为重要。在众多告警工具中,Zabbix 因其强大的监控功能和灵活的告警机制,成为了很多企业的首选。同时,随着企业内部沟通工具的多样化&#…...
![](https://www.ngui.cc/images/no-images.jpg)
TTL转RS232与USB转TTL
USB转TTL是一种常用的通信接口转换器,它将USB(通用串行总线)接口转换为TTL(晶体管-晶体管逻辑)电平的串行接口。这种转换器在许多场景下非常有用: USB转TTL: 功能: 将计算机的USB接…...
![](https://www.ngui.cc/images/no-images.jpg)
【力扣 896】单调数列 C++题解(循环)
如果数组是单调递增或单调递减的,那么它是 单调 的。 如果对于所有 i < j,nums[i] < nums[j],那么数组 nums 是单调递增的。 如果对于所有 i < j,nums[i]> nums[j],那么数组 nums 是单调递减的。 当给定…...
![](https://www.ngui.cc/images/no-images.jpg)
代码随想录Day71(图论Part07)
53.寻宝 题目:53. 寻宝(第七期模拟笔试) (kamacoder.com) 思路:首先,我不知道怎么存这样的东西,用三维数组吗,没搞懂,果断放弃 prim算法实现 import java.util.*;class Main {publi…...
![](https://www.ngui.cc/images/no-images.jpg)
[Mdp] lc 494. 目标和(01背包变种+dp+dfs)
文章目录 1. 题目来源2. 题目解析1. 题目来源 链接:494. 目标和 2. 题目解析 方法一:dfs 数据量比较小,长度只有 20,那么针对每一个数都有两种选择,正、负,即 2 20 = 100 w 2^{20} = 100w 220=100w 差不多的时间复杂度,dfs 解决即可。时间复杂度: O ( 2 n ) O(2^{n…...
![](https://www.ngui.cc/images/no-images.jpg)
React vs Vue:谁是构建现代Web应用的王者?
在前端开发领域,React 和 Vue 是两大备受推崇的框架(React实为库),各自拥有庞大的社区和丰富的生态系统。本文旨在深入探讨这两者之间的区别,通过代码示例来分析它们各自的优势和适用场景,从而帮助开发者做…...
![](https://img-blog.csdnimg.cn/direct/6c407cd9d662488d9c96992e7c5cbcf6.png)
Linux CentOS 宝塔中禁用php8.2的eval函数详细图文教程
PHP_diseval_extension 这个方法是支持PHP8的, Suhosin禁用eval函数,不支持PHP8 一、安装 cd / git clone https://github.com/mk-j/PHP_diseval_extension.gitcd /PHP_diseval_extension/source/www/server/php/82/bin/phpize ./configure --with-php-config/ww…...
![](https://www.ngui.cc/images/no-images.jpg)
Matlab 中 fftshift 与 ifftshift
文章目录 【 1. fftshift、ifftshift 的区别】【 2. fftshift(fft(A)) 作图 】【 3. fftshift(fft(A)) 还原到 A 】Matlab 直接对信号进行 FFT 的结果中,前半部分是正频,后半部分是负频,为了更直观的表示,需要将 负频 部分移到 前面。【 1. fftshift、ifftshift 的区别】 M…...
![](https://www.ngui.cc/images/no-images.jpg)
被裁了(9年)
那年(2015年)我刚毕业有一年多(20出头),阴差阳错来到了现在的单位。 那时互联网腾起,单位也迅速发展,部门从起初的不到30号人发展到500人;A轮、B轮.....D轮,一轮轮的融资…...
![](https://img-blog.csdnimg.cn/direct/81cfbc060f2d43a8a6c988d76253df48.png)
13. Revit API: Filter(过滤器)
13. Revit API: Filter(过滤器) 前言 在讲Selection之前,还是有必要先了解一下的过滤器的。 对了,关于查找一些比较偏的功能或者API的用法,可以这样查找 关键词 site:https://thebuildingcoder.typepad.com/ site是…...
![](https://www.ngui.cc/images/no-images.jpg)
hadoop 3.X 分布式HA集成Kerbos(保姆级教程)
前提:先安装Kerbos 1、创建keytab目录 在每台机器上上提前创建好对应的kertab目录 [hadooptv3-hadoop-01 ~]$ sudo mkdir -p /BigData/run/hadoop/keytab/ [hadooptv3-hadoop-01 ~]$ sudo mkdir -p /opt/security/ [hadooptv3-hadoop-01 ~]$ sudo chown hadoop:had…...
![](https://img-blog.csdnimg.cn/aae8a567c42a478d84634944a8f1cea5.png)
VDS虚拟导播切换台软件
VDS 导播软件是一款功能强大的虚拟导播系统软件,具有全媒体接入、播出内容丰富、调音台、快捷切播与导播键盘、云台控制等特点,同时支持向多个平台直播推流。以下是一些常见的 VDS 导播软件特点: 1. 全媒体接入:支持多种设备和网…...
![](https://img-blog.csdnimg.cn/direct/397e0fae067246daa157cdb065f9975d.png)
UE4_材质_使用彩色半透明阴影
学习笔记,不喜勿喷!侵权立删,祝愿大美临沂生活越来越好! 本教程将介绍如何配置虚幻引擎来投射彩色半透明阴影。 此功能在许多应用中都很有用,常见例子就是透过彩色玻璃窗的彩色光。 一、半透明阴影颜色 阴影在穿过半…...
![](https://www.ngui.cc/images/no-images.jpg)
arthas监控工具笔记(二)monior等
文章目录 monitor/watch/trace 相关monitormonitor例子monitor -c <value>monitor -m <vaule>monitor 条件表达式monitor -b monitor文档(界面描述)monitor文档(help) stack - 输出当前方法被调用的调用路径trace - 方法内部调用路径,并输出方法路径上的…...
![](https://www.ngui.cc/images/no-images.jpg)
【mybatis】mybatis-plus中主键生成策略
1、简介 MyBatis-Plus 中的主键生成策略是一个关键特性,它决定了如何为新插入的行生成唯一标识符(即主键)。MyBatis-Plus 提供了多种主键生成策略,以满足不同场景下的需求。 2、常见主键生成策略 1. AUTO(数据库ID自…...
![](https://img-blog.csdnimg.cn/direct/6b0396d2c604450390bf4972706c131f.jpeg)
模型情景制作-如何制作棕榈树
夏天,沙滩,海景,棕榈树,外加美女,想象下热带海滨的样子吧 可是口年的上班族没有多少机会去到海滩,肿么办?我们自己DIY一个海滨情景摆在办公桌上吧~~~ 什么什么?棕榈树不会做…...
![](https://img-blog.csdnimg.cn/direct/a897c433c03241048d8ccf838ca6d990.png)
# mysql 中文乱码问题分析
mysql 中文乱码问题分析 一、问题分析: MySQL 中文乱码通常是因为字符集设置不正确导致的。MySQL 有多种字符集,如 latin1、utf8、utf8mb4 等,如果在创建数据库、数据表或者字段时没有指定正确的字符集,或者在插入数据时使用了与…...
![](https://img-blog.csdnimg.cn/direct/5dbfb70de6da4b2fae4c95c43db876c5.png)
[小试牛刀-习题练]《计算机组成原理》之指令系统
一、选择题 0.【指令-课本习题】某计算机按字节编址,指令字长固定且只有两种指令格式,其中三地址指令29条,二地址指令107条,每个地址字段为6位,则指令字长至少应该是(A) A.24位 B. 26位 C. 28位…...
![](https://img-blog.csdnimg.cn/20210706224034992.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0Zlbmdfd3dm,size_16,color_FFFFFF,t_70)
JAVA 实现拍卖框架及拍卖详情流程介绍(包含代码示咧)
本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…...
![](https://www.ngui.cc/images/no-images.jpg)
力扣1177.构建回文串检测
力扣1177.构建回文串检测 因为子串可以重新排序 因此考虑一下什么情况需要替换字母1.当前有一个字母的数量为奇数 需要替换的次数为0 2.当前有二个字母的数量为奇数 需要替换的次数为1 (奇数个a 奇数个b 需要将b -> a) 3.当前有三个字母的数量为奇数 需要替换的次数为1 4.当…...
![](https://img-blog.csdnimg.cn/direct/29175639a16a465685458e9454ae3e38.png)
Vue跨域获取ip和ip位置城市等归属地信息
由于端口设置与查询服务器不一致,所以不能直接从ip138网上抓取,只能跨域查询。实现跨域查询,简单的方法是使用jsonp方式,只支持get请求,同时也需要查询的服务器支持jsonp。这时找到了腾讯位置服务。参考文章࿰…...
![](https://www.ngui.cc/images/no-images.jpg)
缺失的第一个正数
给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出:3 解释:范围 [1,2] 中的数字都在数组…...
![](https://img-blog.csdnimg.cn/img_convert/03fcb64f51d81565a22befb963913fba.jpeg)
mac 上 Docker Desktop的免费开源的替代工具Colima
当谈到在macOS上运行容器时,Docker长期以来一直是首选。但是,必须解决使用适用于macOS的Docker Desktop时出现的一些限制,特别是对于大中型公司,最大的问题是需要购买许可证。另外,macOS 版Docker Desktop的性能问题也…...
![](https://img-blog.csdnimg.cn/direct/1b82ae98ab3044e28f3fc9f48447788f.png)
C语言 -- 函数
C语言 -- 函数 1. 函数的概念2. 库函数2.1 标准库和头文件2.2 库函数的使用方法2.2.1 功能2.2.2 头文件包含2.2.3 实践2.2.4 库函数文档的一般格式 3. 自定义函数3.1 函数的语法形式3.2 函数的举例 4. 形参和实参4.1 实参4.2 形参4.3 实参和形参的关系 5. return 语句6. 数组做…...
![](https://i-blog.csdnimg.cn/direct/d0d55f70452f4221bbb04b8315c47801.png)
如何使用小红书矩阵系统:提升内容营销效率
小红书,作为一个集社交和电商于一体的平台,已经成为品牌和个人创作者进行内容营销的重要渠道。小红书矩阵系统,作为一种高效的内容管理和分发机制,可以帮助用户更好地规划和执行营销策略。本文将详细介绍如何使用小红书矩阵系统&a…...
![](https://img-blog.csdnimg.cn/direct/60c4493adf0d467e8b2bf338728a5d30.png)
从 Keycloak 导出和导入 Realm 和用户
1. 首先对keycloak 命令有所了解 需要将 Keycloak 中的 Realm 导出或导入时,您可以使用 JSON 文件进行操作。以下是一些有关导出和导入 Realm 的方法: 导出 Realm 到目录: 使用 export 命令将 Realm 导出到目录。在执行此命令时,…...
![](https://i-blog.csdnimg.cn/direct/3dab3842462f41429e74996b53afa390.png)
C语言实现顺序表字符型数据排序
实现直接插入、冒泡、直接选择排序算法。 #include <stdio.h> #include <stdlib.h>typedef char InfoType;#define n 10 //假设的文件长度,即待排序的记录数目 typedef char KeyType; //假设的关键字类型 typedef struct { //记录类型KeyType…...
![](https://img-blog.csdnimg.cn/direct/e2819b1b422144e49d5d33f7b7b75608.png)
2021强网杯
一、环境 网上自己找 二、步骤 2.1抛出引题 在这个代码中我们反序列,再序列化 <?php$raw O:1:"A":1:{s:1:"a";s:1:"b";};echo serialize(unserialize($raw));//O:1:"A":1:{s:1:"a";s:1:"b";…...
![](https://www.ngui.cc/images/no-images.jpg)
7月强化|跟武忠祥,写严选题还是880题
严选题和武老师的高数强化讲义是一套的,做的时候可以很明显感觉到,严选题上面的题跟讲义也是对应上的。如果大家要选择严选题,那么建议搭配武忠祥老师的强化课和强化讲义一起使用。😎 我当时强化阶段也是跟武老师的强化课…...
![](https://img-blog.csdnimg.cn/img_convert/37f6c436a48a5241f812d91325591e81.webp?x-oss-process=image/format,png)
一种一维时间序列信号变化/事件/异常检测方法(MATLAB)
随着工业物联网、大数据和人工智能的发展,传统工业正在向数字化和智能化升级,从而创造了大量的时间序列数据。通过分析这些数据,可以提供准确可靠的信息服务和决策依据,促进制造业的转型升级。工业物联网在传统工业向“工业 4.0”…...
![](https://www.ngui.cc/images/no-images.jpg)
都是合资7座SUV,大众途昂对比丰田汉兰达,谁更适合家用
在当下,可选择的家用SUV也是比较多,就拿合资七座SUV市场来讲,可选择的就有大众途昂和丰田汉兰达,两款车都是合资七座SUV,且价格比较接近,那么这两款车对比之下,谁更适合家用呢?编辑首先从配置上来对比,我们选择了大众途昂2024款出众款380TSI四驱龙祥版和丰田汉兰达202…...
![](https://www.ngui.cc/images/no-images.jpg)
越级大五座SUV全新一代别克昂科威Plus上市
上汽通用汽车别克品牌宣布,越级大五座SUVmdash;mdash;全新一代别克昂科威Plus正式上市,共推出3款车型,售价22.99万元-25.99万元。全新一代昂科威Plus践行油电同智理念,在带来行业智能化体验的同时,更不止于智能,实现在设计、舒适、安全、品质等全维度129项产品力迭代升级…...
![](https://img-blog.csdnimg.cn/direct/40d9279049f44dd6bdadc58cf3d15420.jpeg)
100个投资者99个选择使用这款EA,WeTrade发现1个事实
为什么100个投资者会有99个选择使用这款EA,是因为这款EA能提供两个版本吗?是因为能控制风险吗?都不是,WeTrade发现1个事实才是这么多投资者选择的原因,那就是能实现100%的盈利率。 我们都知道外汇狙击手EA提供两种版本,分别是标…...
![](https://img-blog.csdnimg.cn/direct/b2b3de69827a4ec1be47dcb8a821648e.jpeg)
Three.js 中的场景与相机基础
Three.js 中的场景与相机基础 一、场景(Scene) 在 Three.js 中,场景是所有 3D 对象存在和交互的容器。艾斯视觉作为行业ui设计与前端开发服务商很高兴能在这里与你共同探讨:它就像是一个虚拟的 3D 空间,我们可以在其中…...
![](https://www.ngui.cc/images/no-images.jpg)
JAVA在Spring框架多线程时调用服务类方法
一 Spring框架多线程调用服务类的方法 我们在开发Web的项目时,有时候我们想在线程的环境下使用Service或Component 注解的服务类方法,多线程下是不能直接调用,以下总结一些常用的技巧转换成可调用的形式。 二 Spring框架下多线程下调用动态…...
![](https://www.ngui.cc/images/no-images.jpg)
ESP32 - Micropython ESP-IDF 双线教程 WIFI (1)
ESP32 - Micropython ESP-IDF 双线教程 WIFI ESP32-WIFI介绍1. 工作模式2. 主要功能3. 编程接口总结 ESP32 - Micropython WIFIESP32-MicroPython Wi-Fi 功能示例代码代码解释注意事项 ESP32中的Wi-Fi功能是其核心特性之一,它基于IEEE 802.11标准,提供了…...