菜鸟笔记
提升您的技术认知

Linux 笔记 第3页

linux c之信号signal处理机制

菜鸟阅读 : 379赞(2)

 Signal机制在Linux中是一个非常常用的进程间通信机制,很多人在使用的时候不会考虑该机制是具体如何实现的。signal机制可以被理解成进程的软中断,因此,在实时性方面还是相对比较高的。Linux中signal机制的模型可以...

linux中的strip命令简介

菜鸟阅读 : 1217赞(2)

linux中的strip命令简介 一、下面是man strip获得到的信息,简单的说就是给文件脱掉外衣,具体就是从特定文件中剥掉一些符号信息和调试信息,使文件变小。 NAME        strip...

linux64位系统 addr2line使用

菜鸟阅读 : 797赞(2)

简介 64位系统运行的可执行文件的符号表地址和实际运行时地址差异甚大。 譬如使用nm查看函数的地址为0x69207,但是运行时打印函数的地址为0x7FA3333F8207。 那么我们通过backtrace,手动打印,gdb,pstack获取...

addr2line 动态库

菜鸟阅读 : 821赞(2)

一、导读 Backtrace中,一般都只有一些地址。但是利用addr2line这个工具,就可以找到对应的代码行。前提条件是可执行程序或者动态链接库编译的时候带-g选项。 具体来说,分两种情况: 如果关注的一行backtrace位于一个可执行...

Linux信号处理程序的一个应用—定位故障

菜鸟阅读 : 363赞(2)

当程序突然暴毙崩溃之后我们首先要查明白三件事: 程序什么时候死的; 程序死在哪里(哪个函数,哪行代码); 怎么死的。 为了查明白这三件事情最常用的方法是: 取出内核在程序临终前生成的core文件,core文件就是程序将死之时留下的遗言; 通...

Linux利用maps文件和反汇编定位崩溃地址

菜鸟阅读 : 613赞(2)

一、maps文件 maps文件可以查看某个进程的代码段、栈区、堆区、动态库、内核区对应的虚拟地址。 7f9c24b000-7f9c25f000 r-xp 00000000 00:02 3295 /lib64/libgcc_s.so.1 7f...

一文读懂——Protobuf

菜鸟阅读 : 839赞(2)

简介 Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 rp...

条件变量基本概念和原理

菜鸟阅读 : 1950赞(2)

        条件变量的作用是用于多线程之间关于共享数据状态变化的通信。当一个动作需要另外一个动作完成时才能进行,即:当一个线程的行为依赖于另外一个线程对共享数据状态的改变时,这时候就可以使用条件变...

ubuntu查看系统版本

菜鸟阅读 : 548赞(2)

一、Ubuntu 版本号 Ubuntu 基础版本号由日期组成。比如 Ubuntu 21.10 表示 2021年10月份发布的版本。Ubuntu 一年会发布两个正式版本,分别在4月份和10月份。 也因为 Ubuntu 每半年就有一次大版本升级...