首页
小黑猫
取消

五险一金超详细整理

前言 本文正好成文于 2025 年社保新规前,所以有些内容可能刚整理出来就过时了。文中大多数内容均以浙江省政策为例。政策是会变化的,且各地政策不同,本文仅供学习参考。 五险 类别 缴纳 账户 养老(职工保险) 个人 + 单位 个人 + 统筹 ...

死机定位-内存不足死在vmalloc

定位过程 死机调用栈如下,推栈结果与 bt 结果大差不差。由一个终端程序一路调用到 vmalloc,最后死在其内部。注意到函数 out_of_memory,这表明可能是系统内存快耗尽了。 [0]kdb> bt Stack traceback for pid 693 0xffff880362416740 693 1 1 0 R 0xffff880...

用户态源码反汇编定位方法记录

前言 问题背景就是进程崩溃,产生了 core 文件。其实这次定位非常简单,bt, disassemble 就能直接看出来了。既然简单,就利用这次机会尝试了一下源码反汇编的定位方法。此前在别人的帮助下,运用该方法定位过内核态的问题,但都事发紧急,事后没能复盘,留下了遗憾。尽管存在差异,还是决定在用户态“模拟”一下。 定位过程 Program terminated with signal ...

gdb无-g调试实战记录

问题背景 设备外发日志的内容错乱,甚至产生 core 文件。版本是正常编译的发行版本,没有附带 -g 加入的调试信息。 我懒得加调试信息也不想加 -g 重新编译,二者在本人的开发环境中都十分麻烦。这种无 -g 调试的场景其实还蛮常见的,这次定位比较顺利,故记录之。 定位过程 从现象上看是日志内容错位了,但也不能排除是踩内存,出界内容被直接解析也能出现类似的现象。通过看代码,我高度怀疑...

简析HTTPS

写在前面 阅读《图解HTTP》,大致理解了 SSL/TLS 的握手过程和思想原理。然而作为入门书,它没有介绍基于 DH 算法的 TLS 握手过程,也没有介绍证书链相关的知识😡。我 Google 了不少资料,着重啃了几篇文章,结合抓包分析,本想“差不多得了”,却没料到入了大坑,疑问不减反增。 一筹莫展之际,AI 技术大火,救我狗命。受此鼓舞,借助 AI 解惑,又打起精神啃读了多个 RFC ...

真值与内存的相互转换

总览 一些自创的名词定义: 在内存中实际存储的值称为内存值。 内存值经过字节序转换后,以无符号形式写成的数值,称为内存数值。内存数值用来直观纯粹地反映内存值的样貌。 用二进制表示的内存数值称为内存二进制。 用十六进制表示的内存数值称为内存十六进制。 用八进制表示的内存数值称为内存八进制。 用无符号十进制表示的内存...

C语言标准发展历史

对各种 C 标准进行简述。 参考资料:Standards (Using the GNU Compiler Collection (GCC)) ANSI C,ISO C89/90 ANSI C 是最初的 C 语言标准,在 1989 年获得批准,1990 年发布。 1990 年晚些时候,该标准成为了 ISO C89/90 标准。 这两个标准之间没有技术上的差异,可以当作就是一个标准。 ...

函数传参

传参分类 从传参类型上看 传参分为传值和传指针。 传指针本质上也是传值,只不过传的是指针值。由于传一般值和传指针值还是有点区别,所以分成两种说法。传值一般就指传一般值,传指针专门用于描述传指针值。 从传参行为上看 传参分为值复制和传自己。 传自己本质上也是值复制,只不过是取地址传无名指针,形参直接接上;而不是直接传有名指针。例如: // 函数调用 func1(i...

记一次指针强转导致脏数据写入问题

交接项目的时候遇到的一个问题,涉及指针、字节序、结构体内存对齐相关知识,三大知识包含规则的共同作用导致了这一问题。 问题描述 时间有些久远了,结合下图来讲,总之,就是变量 vsys_id 莫名其妙地被更改了。当时检查了可能出现问题的相关函数,以及函数传参过程,均没有发现问题所在,甚至在这些地方连 vsys_id 变量名都没有出现,以至于一直没能定位问题。最后发现 vsys_id 被脏数据...

C-Cpp中的const关键字

记录一波 const 关键字的知识点。 概述 const 意为不可修改。 const 修饰的变量不可被修改, 是只读变量,也称这样的变量为常量。const 修饰的变量不可修改这一点是语法层面的限制,通过一些刻意构造的操作仍然可以修改变量的值,只是一般不会这样做。 const 也可以修饰指针,既可以限制指针指向的数据,又可以限制指针本身。 const 修饰变量 const int ...

热门标签
热门标签