Linux
文章平均质量分 68
slowzhong
这个作者很懒,什么都没留下…
展开
-
Linux进程加载过程以及内存分析
进程加载过程以及Linux进程内存分析1、进程加载分析进程的加载过程从bash调用fork()系统调用创建一个新进程开始,新进程调用execve()系统调用执行指定的ELF文件,在执行execve()后,内核就开始了真正的装载过程,execvp()系统调用对应的入口是sys_execve(),在sys_execve()进行了一些参数的检查复制后,调用do_execve(),之后do_exe...原创 2019-01-31 18:30:27 · 3536 阅读 · 0 评论 -
telnet远程调试
telent远程调试是在一种基于telnet远程登陆到进程中进行调试的方法。一般用于打印变量进行调试,或者结合gdb触发函数来进行调试。实现这个功能一般分为以下几个步骤:1.在自己的进程中运行telnet服务。2.利用telnet客户端登陆到自己进程。3.输入需要执行的函数名及函数参数,敲回车4.服务端虚寻找函数虚拟地址并执行函数 第一步的实现:telnet服务端编程,...原创 2018-08-18 09:27:25 · 2000 阅读 · 0 评论 -
Linux下将动态库的调试信息分离
在linux下有个工具叫做strip,这是一个可以将linux下的可执行文件的符号表去除,减少每个可执行文件的大小,这对于嵌入式方面很有必要。但是没有了符号表也就意味着没有办法采用gdb进行调试,因为gdb调试是读取ELF文件头来获取符号表,进而调试,但strip之后,可执行文件的ELF文件头就没有.symtab这个符号表,有的仅是动态符号表。在strip之后nm libxxx.so是看不...原创 2017-12-10 21:02:44 · 3261 阅读 · 0 评论