linux c之信号signal处理机制
signal机制在linux中是一个非常常用的进程间通信机制,很多人在使用的时候不会考虑该机制是具体如何实现的。signal机制可以被理解成进程的软中断,因此,在实时性方面还是相对比较高的。linux中signal机制的模型可以...
signal机制在linux中是一个非常常用的进程间通信机制,很多人在使用的时候不会考虑该机制是具体如何实现的。signal机制可以被理解成进程的软中断,因此,在实时性方面还是相对比较高的。linux中signal机制的模型可以...
linux中的strip命令简介 一、下面是man strip获得到的信息,简单的说就是给文件脱掉外衣,具体就是从特定文件中剥掉一些符号信息和调试信息,使文件变小。 name strip...
简介 64位系统运行的可执行文件的符号表地址和实际运行时地址差异甚大。 譬如使用nm查看函数的地址为0x69207,但是运行时打印函数的地址为0x7fa3333f8207。 那么我们通过backtrace,手动打印,gdb,pstack获取...
一、导读 backtrace中,一般都只有一些地址。但是利用addr2line这个工具,就可以找到对应的代码行。前提条件是可执行程序或者动态链接库编译的时候带-g选项。 具体来说,分两种情况: 如果关注的一行backtrace位于一个可执行...
1 objdump反汇编示例 源文件main.c: /* main.c */ #include
当程序突然暴毙崩溃之后我们首先要查明白三件事: 程序什么时候死的; 程序死在哪里(哪个函数,哪行代码); 怎么死的。 为了查明白这三件事情最常用的方法是: 取出内核在程序临终前生成的core文件,core文件就是程序将死之时留下的遗言; 通...
一、maps文件 maps文件可以查看某个进程的代码段、栈区、堆区、动态库、内核区对应的虚拟地址。 7f9c24b000-7f9c25f000 r-xp 00000000 00:02 3295 /lib64/libgcc_s.so.1 7f...
简介 google protocol buffer( 简称 protobuf) 是 google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 rp...
条件变量的作用是用于多线程之间关于共享数据状态变化的通信。当一个动作需要另外一个动作完成时才能进行,即:当一个线程的行为依赖于另外一个线程对共享数据状态的改变时,这时候就可以使用条件变...
一、ubuntu 版本号 ubuntu 基础版本号由日期组成。比如 ubuntu 21.10 表示 2021年10月份发布的版本。ubuntu 一年会发布两个正式版本,分别在4月份和10月份。 也因为 ubuntu 每半年就有一次大版本升级...