出现在‘{‘的段错误
今天在运行程序时,程序因段错误退出了,于是使用gdb调试。
部分输出如下:
[New Thread 0x7fffc88be6c0 (LWP 47902)]
[New Thread 0x7fffc80bd6c0 (LWP 47903)]
[New Thread 0x7fffc622a6c0 (LWP 47904)]
[New Thread 0x7fffc4ee96c0 (LWP 47905)]
[Thread 0x7fffc4ee96c0 (LWP 47905) exited]
[Thread 0x7fffc622a6c0 (LWP 47904) exited]
[New Thread 0x7fffc622a6c0 (LWP 47906)]
[New Thread 0x7fffc4ee96c0 (LWP 47907)]
[New Thread 0x7fffc44256c0 (LWP 47908)]
[New Thread 0x7fffc2f756c0 (LWP 47909)]
[New Thread 0x7fffc27746c0 (LWP 47910)]
[New Thread 0x7fffc1f736c0 (LWP 47911)]
[New Thread 0x7fffc0c696c0 (LWP 47912)]
/home/kimi/FalseColor/Image/TUC-001.pngThread 9 "HyperVisualized" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffc2f756c0 (LWP 47909)]
0x000055555555df44 in SubstractROI () at /home/kimi/FalseColor/tasks.cpp:39
39 {
第39行位于我定义的SubstractROI()函数的开头,只有一个花括号。这是一个自定义的线程函数.
执行Shell指令:
ulimit -c unlimited
在调试中执行:
(gdb) bt full
输出:
#0 0x000055555555df5f in SubstractROI () at /home/kimi/FalseColor/tasks.cpp:39rc = 0
#1 0x00007ffff785ea42 in asan_thread_start (arg=0x7fffc3c17000)at ../../../../src/libsanitizer/asan/asan_interceptors.cpp:234t = 0x7fffc3c17000self = 140736464377536args = {routine = 0x55555555df45 <SubstractROI(void*)>, arg_retval = 0x0}sigset = {val = {0, 140737346782364, 140737488344112, 2, 140737346782425, 140737346804196, 66306, 128, 93824992327936, 0, 140737488346336, 140737346775371, 91396908091392, 7119036891454426880, 61440, 61440}}retval = <optimized out>
#2 0x00007ffff1e9caa4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447ret = <optimized out>pd = <optimized out>out = <optimized out>unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736464377536, 3846815871535486511, 140736464377536, -464, 11, 140737488343408, 3846815871690675759, 3846853199121028655}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}not_first_call = <optimized out>
#3 0x00007ffff1f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
咨询过ChatGPT,它给出的建议是:
当你在 C/C++函数体开头的花括号处({)遇到段错误时,问题往往并不是在这一行代码本身,而是之前的内存越界、堆栈损坏或返回地址被篡改导致的“假”崩溃位置
想要找到错误,还得看其他地方。
我在我自己的程序中定义了5个线程函数,每个线程函数的工作任务都是放到里面的while循环里来处理的,不同的线程函数之间会通过队列传递数据。
于是我这么办,把所有线程函数的while循环(也就是执行任务的部分)全部注释掉,只留下它们用于绑定CPU核心的代码。再用gdb调试,结果输出:
Thread 1 "HyperVisualized" received signal SIGSEGV, Segmentation fault.
0x000055555555e5a1 in FalseColorQueue::Destroy (this=0x555555567a60 <FQ>)at /home/kimi/FalseColor/falsecolor.h:96
96 head->next = r->next;
问题出在我自己定义的队列类的成员函数Destroy上。这个函数负责队列销毁工作
修改该函数解决后,保持之前的注释,运行程序,出现了:
=================================================================
==4432==ERROR: LeakSanitizer: detected memory leaksDirect leak of 1032 byte(s) in 1 object(s) allocated from:#0 0x73b8bc8fc778 in realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:85#1 0x73b8ac7d82cc in _dbus_string_lengthen (/lib/x86_64-linux-gnu/libdbus-1.so.3+0x322cc) (BuildId: 47829078e4267099473c6cf5f5742f16ccb2644d)#2 0x73b8ac7da0fb in _dbus_read (/lib/x86_64-linux-gnu/libdbus-1.so.3+0x340fb) (BuildId: 47829078e4267099473c6cf5f5742f16ccb2644d)#3 0x73b8ac7d317e (/lib/x86_64-linux-gnu/libdbus-1.so.3+0x2d17e) (BuildId: 47829078e4267099473c6cf5f5742f16ccb2644d)#4 0x73b8ac7cf872 (/lib/x86_64-linux-gnu/libdbus-1.so.3+0x29872) (BuildId: 47829078e4267099473c6cf5f5742f16ccb2644d)#5 0x73b8ac7bb28d (/lib/x86_64-linux-gnu/libdbus-1.so.3+0x1528d) (BuildId: 47829078e4267099473c6cf5f5742f16ccb2644d)#6 0x73b8ac7bc6f0 (/lib/x86_64-linux-gnu/libdbus-1.so.3+0x166f0) (BuildId: 47829078e4267099473c6cf5f5742f16ccb2644d)#7 0x73b8bc6628a5 in SDL_DBus_Init (/usr/local/lib/libSDL3.so.0+0x2628a5) (BuildId: 6599df6cfdb725265ded2120fe380ec7a041c2d4)SUMMARY: AddressSanitizer: 1032 byte(s) leaked in 1 allocation(s).
显然依然存在问题。
按照ChatGPT的说法,这就和SDL3中D-Bus模块有关:
SDL 的 D-Bus 模块是 SDL 在 Linux 上通过 libdbus (freedesktop.org 提供的低级 D-Bus 客户端库)连接到系统总线(system bus)和会话总线(session bus)的部分,它主要用于实现桌面集成功能,例如系统托盘通知、媒体按键处理、屏幕保护禁止、主题查询等。SDL 在内部调用 SDL_DBus_Init() 来加载 libdbus 并建立连接,但出于稳定性考虑,它默认不会在退出时调用 dbus_shutdown() 来释放全局资源,因此会在 LeakSanitizer 中表现为少量“一次性”内存未释放。
最后的这句话:
SUMMARY: AddressSanitizer: 1032 byte(s) leaked in 1 allocation(s).
表明还有1032字节的内存空间没被释放。
这个错误先放在一边,先解决具体业务相关代码的问题。
把之前的注释消除后,再次编译、运行:
/home/kimi/FalseColor/Image/TUC-001.png
AddressSanitizer\:DEADLYSIGNAL
==============================\==2739==ERROR: AddressSanitizer: stack-overflow on address 0x77f3144c62a0 (pc 0x58d9409e3fe2 bp 0x77f314cc52b0 sp 0x77f3144c62a0 T8)
/home/kimi/FalseColor/Image/TUC-002.png
/home/kimi/FalseColor/Image/TUC-003.png
/home/kimi/FalseColor/Image/TUC-004.png
/home/kimi/FalseColor/Image/TUC-005.png
/home/kimi/FalseColor/Image/TUC-006.png
\#0 0x58d9409e3fe2 in SubstractROI(void\*) /home/kimi/FalseColor/tasks.cpp:38
\#1 0x77f34965ea41 in asan\_thread\_start ../../../../src/libsanitizer/asan/asan\_interceptors.cpp:234
\#2 0x77f343c9caa3 in start\_thread nptl/pthread\_create.c:447
\#3 0x77f343d29c3b in clone3 ../sysdeps/unix/sysv/linux/x86\_64/clone3.S:78SUMMARY: AddressSanitizer: stack-overflow /home/kimi/FalseColor/tasks.cpp:38 in SubstractROI(void\*)
Thread T8 created by T0 here:
\#0 0x77f3496f51f9 in pthread\_create ../../../../src/libsanitizer/asan/asan\_interceptors.cpp:245
\#1 0x58d9409e351c in main /home/kimi/FalseColor/main.cpp:69
\#2 0x77f343c2a1c9 in \_\_libc\_start\_call\_main ../sysdeps/nptl/libc\_start\_call\_main.h:58
\#3 0x77f343c2a28a in \_\_libc\_start\_main\_impl ../csu/libc-start.c:360
\#4 0x58d9409dfb94 in \_start (/home/kimi/FalseColor/HyperVisualized+0x5b94) (BuildId: 58b2b770998a723db24892c0bcfa95d9c01b13b4)\==2739==ABORTING
还是有问题,gdb调试时,还是卡在了老地方,没错,就是之前提到的花括号
看来还是有问题。恢复之前的注释,使用gdb。输入run指令运行,输出:
==3915==LeakSanitizer has encountered a fatal error.
==3915==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1
==3915==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)
[Inferior 1 (process 3915) exited with code 01]
按照ChatGPT的解释,出现这种情况是因为:
LeakSanitizer (LSan) 为了暂停所有线程、准确扫描内存泄漏,会在底层调用 ptrace 接口;而 GDB、strace 等调试器同样依赖 ptrace,系统只允许一个进程家族持有 ptrace 权限,这就导致 LSan 在调试会话中“抢不到”ptrace 权限而报错
既然如此,那我只好先在CMakeLists.txt中注释掉关于它的内容了
把之前的注释消除后,再次编译、运行,结果出现了段错误。
。。。 。。。
将SubstractROI()函数内部分代码注释,通过GDB调试后得到:
Thread 8 "HyperVisualized" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffde7fc6c0 (LWP 4671)]
0x000055555555982c in Queue::Push (this=0x555555560380 <Q>, buf=0x7fffcf7ff040 "\312\001B\004\037\005O\004C\004\v\004\213\004\b\004\333\004h\005\225\005\373\005\022\004u\005\303\004A\004\207\004B\004\215\003\353\004<\004\255\004\365\003L\004]\005\004\004\256\003`\004\374\004|\004\307\0047\005\273\004w\004\225\004\023\005\r\005\240\005\t\005\203\004^\005\336\003\244\003\211\006\037\005\017\005\020\005*\004\207\005\330\003\n\005\277\004X\004@\004\032\004\262\003o\004\214\005\325\004,\0045\004\273\005\025\005\351\003\356\004\210\004\352\004\321\003\354\004\211\005s\005&\b4\005\240\004u\004\307\005o\004\265\004'\005Z\005\021\006\232\005\346\005|\004\216\003\301\004\305\0042\005\261\004~\005`\004W\004\206\003\204\004+\003\225\0040\005\202\004\234\004\256\004"..., len=8388608)at /home/kimi/FalseColor/Queue.h:53
53 rear->next->length = len ;
看样子问题出在我自己定义的队列类Queue中,并且出现在我自定义的入队列成员函数Push中。
进一步打断点,调试:
gdb调试输出:
Thread 8 "HyperVisualized" hit Breakpoint 2, Queue::Push (this=0x555555560380 <Q>, buf=0x7fffdc7f9040 "\312\001B\004\037\005O\004C\004\v\004\213\004\b\004\333\004h\005\225\005\373\005\022\004u\005\303\004A\004\207\004B\004\215\003\353\004<\004\255\004\365\003L\004]\005\004\004\256\003`\004\374\004|\004\307\0047\005\273\004w\004\225\004\023\005\r\005\240\005\t\005\203\004^\005\336\003\244\003\211\006\037\005\017\005\020\005*\004\207\005\330\003\n\005\277\004X\004@\004\032\004\262\003o\004\214\005\325\004,\0045\004\273\005\025\005\351\003\356\004\210\004\352\004\321\003\354\004\211\005s\005&\b4\005\240\004u\004\307\005o\004\265\004'\005Z\005\021\006\232\005\346\005|\004\216\003\301\004\305\0042\005\261\004~\005`\004W\004\206\003\204\004+\003\225\0040\005\202\004\234\004\256\004"..., len=8388608)at /home/kimi/FalseColor/Queue.h:51
51 rear->next = (LinkNode*)malloc(sizeof(LinkNode));
(gdb) p rear
$1 = (LinkNode *) 0x555555575480
(gdb) p rear->next
$2 = (LinkNode *) 0x0
(gdb) n
52 if(rear->next == NULL)
(gdb) p rear->next
$3 = (LinkNode *) 0x0
(gdb) p rear
$4 = (LinkNode *) 0x555555575480
(gdb) nThread 9 "HyperVisualized" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffddffb6c0 (LWP 7243)]
Download failed: 无效的参数. Continuing without source file ./malloc/./malloc/malloc.c.
0x00007ffff64add55 in __GI___libc_free (mem=0x7fffc8001) at ./malloc/malloc.c:3375
warning: 3375 ./malloc/malloc.c: 没有那个文件或目录
原来是malloc函数分配失败了,于是我就改变了原来的入队列及新节点分配方式,再次调试:
Thread 8 "HyperVisualized" hit Breakpoint 1, Queue::Push (this=0x5555555613a0 <Q>, buf=0x7fffdcffa040 "\312\001B\004\037\005O\004C\004\v\004\213\004\b\004\333\004h\005\225\005\373\005\022\004u\005\303\004A\004\207\004B\004\215\003\353\004<\004\255\004\365\003L\004]\005\004\004\256\003`\004\374\004|\004\307\0047\005\273\004w\004\225\004\023\005\r\005\240\005\t\005\203\004^\005\336\003\244\003\211\006\037\005\017\005\020\005*\004\207\005\330\003\n\005\277\004X\004@\004\032\004\262\003o\004\214\005\325\004,\0045\004\273\005\025\005\351\003\356\004\210\004\352\004\321\003\354\004\211\005s\005&\b4\005\240\004u\004\307\005o\004\265\004'\005Z\005\021\006\232\005\346\005|\004\216\003\301\004\305\0042\005\261\004~\005`\004W\004\206\003\204\004+\003\225\0040\005\202\004\234\004\256\004"..., len=8388608)at /home/kimi/FalseColor/Queue.h:73
73 LinkNode* p = (LinkNode*)malloc(sizeof(LinkNode));
(gdb) p p
$1 = (LinkNode *) 0x7fffde7fbe0b
(gdb) n
74 if(p == NULL)
(gdb) p p
$2 = (LinkNode *) 0x7fffc8001150
(gdb) n
82 p->content = (unsigned char*)malloc((len+1)*sizeof(unsigned char));
(gdb) n
83 memset(p->content, '\0', (len+1));
(gdb) p p->content
$3 = (unsigned char *) 0x7fffce7fd010 ""
(gdb) n
84 p->length = len ;
(gdb) p p->content
$4 = (unsigned char *) 0x7fffce7fd010 ""
(gdb)
这下子分配没问题了。但也由此出现了新的疑问。
相关文章:
出现在‘{‘的段错误
今天在运行程序时,程序因段错误退出了,于是使用gdb调试。 部分输出如下: [New Thread 0x7fffc88be6c0 (LWP 47902)] [New Thread 0x7fffc80bd6c0 (LWP 47903)] [New Thread 0x7…...
【C++设计模式之Observer观察者模式】
Observer观察者模式 模式定义动机(Motivation)结构(Structure)应用场景一(气象站)实现步骤1.定义观察者接口2.定义被观察者(主题)接口3.实现具体被观察者对象(气象站)4.实现具体观察者(例如:显示屏)5.main.cpp中使用示例6.输出结果7. 关键点 …...
【软件测试】测试用例的概念与常见测试的模型
目录 一、测试用例的概念 1.1 什么是测试用例 1.2 编写测试用例的目的 1.3 用例设计的编写格式 二、模型 2.1 质量模型 2.2 测试模型 2.2.1 瀑布模型 2.2.2 螺旋模型 2.2.3 V 模型 2.2.4 W模型 2.2.5 增量、迭代模型 2.2.6 敏捷模型 2.2.6.1 敏捷宣言 2.2.6.2 Sc…...
OpenCV的 ccalib 模块用于自定义标定板的检测和处理类cv::ccalib::CustomPattern()----函数calibrate
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::ccalib::CustomPattern 是OpenCV的 ccalib 模块中的一个类,主要用于自定义标定板的检测和处理。这个模块提供了比传统的 calib3d…...
高效管理钉钉收款单数据集成到MySQL的技术方案
钉钉数据集成到MySQL的技术案例分享:dd-收款单-->mysql(鸿巢)收款单(其他收款) 在企业日常运营中,数据的高效管理和实时处理至关重要。本文将聚焦于一个具体的系统对接集成案例:如何将钉钉平…...
介质访问控制(MAC)
介质访问控制(MAC)详解 介质访问控制(Medium Access Control, MAC)是数据链路层的核心子层,负责解决多个设备共享同一通信介质时的冲突问题。它的核心目标是:在广播或多路访问网络中,确保数据有…...
在Mac M1/M2上使用Hugging Face Transformers进行中文文本分类(完整指南)
在Mac M1/M2上使用Hugging Face Transformers进行中文文本分类(完整指南) 前言 随着Apple Silicon芯片(M1/M2)的普及,越来越多的开发者希望在Mac上运行深度学习任务。本文将详细介绍如何在Mac M1/M2设备上使用Huggin…...
企业如何将钉钉付款单高效集成到金蝶云星空?
钉钉数据集成到金蝶云星空:修改下推的付款单③ 在企业信息化系统中,数据的高效流转和准确对接是实现业务流程自动化的关键。本文将分享一个实际案例,展示如何通过轻易云数据集成平台,将钉钉中的付款单数据无缝集成到金蝶云星空系…...
软件确认报告:审查功能、评估标准及推动软件稳定高效运行
软件确认报告的主要任务是严格审查软件的各项功能,以此为基础,为精确评估其是否满足标准提供依据,并推动软件实现稳定与高效的运行。具体来说,报告将从目的、背景、所依据的资料、采用的测试手段以及最终的测试成效等几个方面进行…...
Github 热点项目 Cursor开源代替,AI代理+可视化编程!支持本地部署的隐私友好型开发神器。
Void编辑器今天必须拥有姓名!作为总星数近1.5万的顶流开源工具,它用三大绝活圈粉无数:① 隐私党狂喜!所有AI对话直连模型商,你的代码数据绝不留在别人服务器;② 自带时光机功能,AI修改代码时自动…...
影像超分——从低清到高清的跨越密码
在数字时代,影像超分技术宛如魔法般存在,它能让老旧模糊的照片焕发新生但目前面临着高计算量、稳定性不足,压缩与量化误差影响大,退化模型的估计难度高等痛点与挑战,本文将围绕影像超分的工作技术原理、应用场景等展开…...
Vue项目---懒加载的应用
懒加载 介绍原理展示详细解析模版部分脚本部分数据和变量IntersectionObserver加载更多数据生命周期钩子 代码Mock数据前端代码 介绍 懒加载(Lazy Loading)是一种常见的前端优化技术,用于延迟加载页面上的资源(如图片、视频、组件…...
前端自学入门:HTML 基础详解与学习路线指引
在互联网的浪潮中,前端开发如同构建数字世界的基石,而 HTML 则是前端开发的 “入场券”。对于许多渴望踏入前端领域的初学者而言,HTML 入门是首要挑战。本指南将以清晰易懂的方式,带大家深入了解 HTML 基础,并梳理前端…...
机器学习 期末考试题
自测试卷1 一、选择题 1.下面关于数据分析说法正确的是( )。 A.数据分析是数学、统计学理论结合科学的统计分析方法 B.数据分析是一种数学分析方法 C.数据分析是统计学分析方法 D.数据分析是大数据分析方法 2.下面不是数据分析方法的是( )。 A.同比分析 B.环比分析…...
BP神经网络
一、BP 神经网络概述 BP(Back Propagation)神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,它是目前应用最广泛的神经网络模型之一。BP 神经网络由输入层、隐藏层和输出层组成,隐藏层可以有一层或多层。其学习过程由正…...
使用 NSSM 安装 Tomcat 11.0.6 为 Windows 服务
步骤 1:下载 NSSM 访问 NSSM 的官方网站:NSSM Download 下载适合您系统的版本(通常是 nssm-<version>-win64.zip 或 nssm-<version>-win32.zip)。 解压下载的文件。 步骤 2:将 NSSM 移动到 Tomcat 目录…...
拉西坦类促智药物的异同
吡拉西坦及其主要同类药物的深度研究报告 以下表格总结了本报告所讨论的主要拉西坦类药物的关键特性,以便进行直接比较。 表1:主要拉西坦类药物特性比较 特性 吡拉西坦 (Piracetam) 阿尼西坦 (Aniracetam) 奥拉西坦 (Oxiracetam) 普拉西坦 (Pramir…...
高级可视化图表分析实践——以《大侠立志传》武器系统为例
高级可视化图表分析实践——以《大侠立志传》武器系统为例 引言武器类型分布矩形树图结论 不同品质/类别武器的攻击力分布情况蜂群图分析结论 武器来源桑基图分析结论 武器附加属性词云图分析结论 不同品级武器装备熟练度要求/特质要求离散热力图结论品质与熟练度的正相关性品质…...
HT71663同步升压2.7V-13V输入10A聚能芯半导体禾润一级代理
在便携式设备飞速发展的今天,电源转换效率与产品尺寸始终是行业难以平衡的难题。但现在,HT71663 高功率全集成升压转换器强势登场,一举打破僵局,为便携式系统带来颠覆性的高效小尺寸解决方案! HT71663 的卓越性能&am…...
3D桌面可视化开发平台HOOPS Native Platform,如何实现3D系统快速开发与部署?
无论是制造、工程还是软件行业,高效的3D应用开发能力都直接影响着产品创新、客户体验和市场响应速度。HOOPS技术,凭借领先的技术实力和广泛的行业应用,正成为推动企业数字化转型、驱动业务增长的核心引擎。本文将深入解析HOOPS技术的优势&…...
DeepResearch深度搜索实现方法调研
DeepResearch深度搜索实现方法调研 Deep Research 有三个核心能力 能力一:自主规划解决问题的搜索路径(生成子问题,queries,检索)能力二:在探索路径时动态调整搜索方向(刘亦菲最好的一部电影是…...
使用Python删除PDF中多余或空白的页面
目录 为什么需要删除 PDF 中的多余或空白页面? 所需工具 环境准备 如何使用Python删除PDF中的多余页面 实现思路 详细实现步骤 实现代码 如何使用Python检测并删除PDF中的空白页 实现思路 详细实现步骤 实现代码 在处理 PDF 文件时,常常会遇到…...
什么是分布式光伏系统?屋顶分布式光伏如何并网?
政策窗口倒计时!分布式光伏如何破局而立? 2025年,中国分布式光伏行业迎来关键转折: ▸ "430"落幕——抢装潮收官,但考验才刚开始; ▸ "531"生死线——新增项目全面市场化交易启动&…...
MySQL——七、索引
优势:极高查询效率;极高排序效率 劣势:占用磁盘空间;降低更新表的速度(可忽略,磁盘相对便宜;增删改比例较小) 索引结构 MYSQL的索引是在存储引擎层实现的,不同的存储引…...
LVGL的核心:lv_timer_handler
文章目录 🧠 一句话总结 LVGL 的运行核心:🔁 1. while(1) 主循环中的 lv_task_handler()⏱️ 2. lv_timer_handler() 定时器调度核心✅ 并发控制✅ 关键行为流程:🌀 任务执行逻辑:🧮 计算下一次…...
LLM量化方法:ZeroQuant、LLM.int8()、SmoothQuant、GPTQ、AWQ
文章目录 TLDR;量化分类量化时机量化粒度ZeroQuant: Efficient and Affordable Post-Training Quantization for Large-Scale Transformers细粒度硬件感知量化低成本逐层知识蒸馏(Layer-by-layer Knowledge Distillation, LKD) LLM.int8(): 8-bit Matrix…...
数据结构 集合类与复杂度
文章目录 📕1. 集合类📕2. 时间复杂度✏️2.1 时间复杂度✏️2.2 大O渐进表示法✏️2.3 常见的时间复杂度量级✏️2.4 常见时间复杂度计算举例 📕3. 空间复杂度 📕1. 集合类 Java 集合框架(Java Collection Framework…...
AI服务器通常会运用在哪些场景当中?
人工智能行业作为现代科技的杰出代表,在多个领域当中发展其强大的应用能力和价值,随之,AI服务器也在各个行业中日益显现出来,为各个行业提供了强大的计算能力和处理能力,帮助企业处理复杂的大规模数据,本文…...
keepalived详细笔记
keepalived 是一种基于VRRP(虚拟路由器冗余协议)的高可用解决方案,主要是用于服务器的负载均衡和高可用性的保障,自动将服务切换到备份服务器上,确保业务的连续性。 工作原理: VRRP协议:一组路…...
基于大模型的母婴ABO血型不合溶血病全方位预测与诊疗方案研究
目录 一、引言 1.1 研究背景与目的 1.2 国内外研究现状 1.3 研究方法与创新点 二、母婴 ABO 血型不合溶血病概述 2.1 发病机制 2.2 临床表现 2.3 流行病学特征 三、大模型在母婴 ABO 血型不合溶血病预测中的应用 3.1 模型选择与构建 3.2 预测指标与数据输入 3.3 模…...
【5分钟学Docker】Docker快速使用
目录 1. 概述 2. 基本操作 2.1. 镜像操作 2.2. 容器操作 2.3. 运行操作 2.4. 镜像保存 2.5. 镜像分享 3. 高级操作 4. 挂载 4.1. 目录挂载 4.2. 卷映射 1. 概述 Docker 镜像有镜像名称和TAG 2. 基本操作 2.1. 镜像操作 查看镜像 docker images docker image ls …...
单调栈所有模版型题目(1)
普通单调栈模型 首先介绍单调栈模版 这个图里有5个数字,我们从右往左看,第一个数字是4,第二个数字是7,数字4小于数字7,所以7这个数之前的下一个更大值永远不会是4,那么此时4在数组里就相当于没有用了,所以…...
拆分sql数据,(shop_backup)sql文档过大(>5G)
执行表结构 sed -n /^-- Table structure/,/^-- Dumping data/p shop_backup.sql > structure.sql mysql -u root -p shop < structure.sql 执行数据 awk /^INSERT INTO/{if(count%1000001) {file"data_part_"i".sql"}; print > file} shop_bac…...
FunASR阿里开源的语音识别工具
FunASR是一个由阿里云智能团队开源的语音识别工具。它旨在通过发布工业级语音识别模型的训练和微调,促进学术研究和工业应用之间的交流,推动语音识别生态的发展。 今天来试着搭建下。 1、先贴上github地址。 https://github.com/modelscope/FunASR…...
【网络入侵检测】基于源码分析Suricata的IP分片重组
【作者主页】只道当时是寻常 【专栏介绍】Suricata入侵检测。专注网络、主机安全,欢迎关注与评论。 目录 目录 1.概要 2. 配置信息 2.1 名词介绍 2.2 defrag 配置 3. 代码实现 3.1 配置解析 3.1.1 defrag配置 3.1.2 主机系统策略 3.2 分片重组模块 3.2.1…...
“Cobalt Strike Aggressor脚本提权全解析:从监听器到SYSTEM/root的渗透实战指南“
目录 1. Aggressor脚本是什么?如何提权? 2. 这种脚本提权针对什么漏洞? 3. 如何发现可用于CS提权的漏洞? 4. Windows和Linux利用Aggressor脚本提权的全过程 Windows提权:CVE-2021-1732 (Win32k提权) Linux提权&a…...
为啥大模型一般将kv进行缓存,而q不需要
1. 自回归生成的特点 大模型(如 GPT 等)在推理时通常采用自回归生成的方式: 模型逐个生成 token,每次生成一个新 token 时,需要重新计算注意力。在生成第 t 个 token 时,模型需要基于前 t-1 个已生成的 t…...
一些模型测试中的BUG和可能解决方法
一些模型测试中的BUG和可能解决方法 模型一直重复反馈相同内容的问题查找思路 如下顺序也是排查优先级 检查提示词和上下文,保证提示词中没有类似的要求,然后再查看上下文是不是占满了token长度。检查一下选择的model是不是本身就有这样的问题尝试增加repeat_penalty(1.05、…...
智慧农业运维平台养殖—传感器管理监控设计—仙盟创梦IDE
智慧农业综合监测与智能执行系统简介 该系统围绕农业生产全流程,融合气象环境监测、农技指导精准推送及多维度智能控制,助力农业高效、科学发展。 气象环境与农技指导:于农业现场部署慧云智能物联网设备,实时监测空气温湿度、光照…...
linux中的日志分割
1.问题背景,nginx日志过大不好删除 [rootlocalhost cron.daily]# cd /lk/nginx/log/ [rootlocalhost log]# ll 总用量 2386188 -rw-r--r--. 1 root root 2078699697 5月 9 13:02 access.log -rw-r--r--. 1 root root 11138 5月 6 10:28 error.log [rootloc…...
零基础学Java——第十一章:实战项目 - 控制台应用开发
第十一章:实战项目 - 控制台应用开发 在前面的章节中,我们已经学习了Java的基础知识、面向对象编程、高级特性、文件IO、多线程、网络编程和数据库操作等内容。现在,是时候将这些知识应用到实际项目中了。本章我们将从最基础的控制台应用开始…...
从逻辑学视角理解统计学在数据挖掘中的作用
文章目录 一、引言:逻辑学与统计学的交汇1.1 问题的逻辑本质:为什么需要统计学解析数据1.2 数据挖掘中的三重逻辑关系:数据-模式-知识 二、统计学的逻辑基础2.1 归纳逻辑与统计推断2.2 假设检验的逻辑结构2.3 概率论:不确定性的逻…...
Cluster Interconnect in Oracle RAC
Cluster Interconnect in Oracle RAC (文档 ID 787420.1)编辑转到底部 In this Document Purpose Scope Details Physical Layout of the Private Interconnect Why Do We Need a Private Interconnect ? Interconnect Failure Interconnect High Availability Private Inte…...
OPENSSL-1.1.1的使用及注意事项
下载链接: OpenSSL1.1.1一个广泛使用的开源加密库资源-CSDN文库 OpenSSL 1.1.1 是一个广泛使用的开源加密库,以下是其使用方法及注意事项: 使用方法 安装: Linux系统: 从源码编译安装:访问 OpenSSL 官网…...
Element-UI字体图标不显示
原因 我在控制台查看请求后,发现elementUI的字体文件请求路径不对, 我的路径是/static/css/static/fonts/element-icons.535877f.woff, 正确的是/static/fonts/element-icons.535877f.woff 解决 build - utils function generateLoaders (loa…...
lambda 表达式
C 的 lambda 表达式 是一种轻量、内联的函数对象写法,广泛用于标准算法、自定义回调、事件响应等场景。它简洁且强大。以下将系统、详细地讲解 lambda 的语法、捕获规则、应用技巧和实际使用场景。 🧠 一、基本语法 [捕获列表](参数列表) -> 返回类型…...
vue3: pdf.js 2.16.105 using typescript
npm create vite vuepdfpreview //创建项目npm install vue-pdf-embed npm install vue3-pdfjs npm install pdfjs-dist2.16.105 <!--* |~~~~~~~|* | |* | |…...
自然语言处理-词性标注的基本概念
在自然语言处理过程中,进行词性标注是很有必要的一个步骤,词性揭示了一个词的类别,识别每个词的词性可以分析句子的语法和结构,从而为后续的命名实体识别、句法分析、情感分析、信息抽取以及机器翻译等文本分析任务提供必要且有用…...
电机密集型工厂环境下的无线通信技术选型与优化策略
点击下面图片带您领略全新的嵌入式学习路线 🔥爆款热榜 88万阅读 1.6万收藏 在电机、变频器、电焊机等强电磁干扰源遍布的工业环境中,无线通信系统的可靠性面临严峻挑战。本文从抗干扰能力、传输稳定性、实时性需求三大核心维度出发,结合工…...
【软件安装那些事 2 】Multisim 14.3 安装教程(中文版)步骤完整不跳步 { 附百度网盘中软件提取下载链接,永久有效 }
百度网盘分享的文件:Multisim 14.3 安装包 中文 (永久有效) 链接: https://pan.baidu.com/s/1XE4X9_M496lyHCN3DGrOzw?pwd4yku 提取码: 4yku 1、解压完成后,打开【Setup】文件夹 2、右击【Install】,选择…...