调试
文章平均质量分 69
XX風
翻山越岭
展开
-
常用的分析ELF文件的命令(readelf、objdump及od)
readelf:-h:文件头-S:段表-s:符号表-d: 查看依赖库-p:查看某个段内容,非常重要。如:readelf -p .comment libc.so (通过-p对只读段的查看就可以替代strings命令)objdump:-d:反汇编(objdump我基本只用这一个)-h:段表,同readelf -S,所以可以不用记–s:代码段、数据段、只读数据段,各个段二进制-a:看一个.a静态库文件中包含了哪些目标文件od:如:十六进制输出数据并且地址以十进制打印:od -A d -t原创 2021-02-23 09:33:09 · 2929 阅读 · 0 评论 -
coredump产生的几种情况及对应的处理方法
//重复释放的标准写法:(避免重复是放到时core dump)//空指针赋值 、地址非法======================================================================//堆栈溢出//栈空间大小设置//递归调用:#460 XXXXX 代表一个栈帧解决递归调用堆栈溢出的情况:限制递归调用的次数==========================================================.原创 2021-01-25 10:53:26 · 853 阅读 · 0 评论 -
【GDB】手把手教你用gdb调试程序
实例我以自己曾经写的一段实际代码为例,来讲解究竟该怎么进行GDB调试。实例地址:码云:https://gitee.com/yngzMiao/protobuf-parser-toolGitHub:https://github.com/yngzMiao/protobuf-parser-tool实例的功能是生成和解析proto文件,分为C++和python版本。其中,C++版本采用的是CMakeLists.txt进行编译,按照以下命令可以生成可执行文件:mkdir build && c转载 2021-01-16 00:18:21 · 333 阅读 · 0 评论 -
手把手教你用Strace诊断问题
发表于2015-10-16由老王早些年,如果你知道有个 strace 命令,就很牛了,而现在大家基本都知道 strace 了,如果你遇到性能问题求助别人,十有八九会建议你用 strace 挂上去看看,不过当你挂上去了,看着满屏翻滚的字符,却十有八九看不出个所以然。本文通过一个简单的案例,向你展示一下在用 strace 诊断问题时的一些套路。如下真实案例,如有雷同,实属必然!让我们看一台高负载服务器的 top 结果:top技巧:运行 top 时,按「1」打开 CPU 列表,按「shift+p」以 C转载 2021-01-16 00:06:29 · 242 阅读 · 0 评论 -
使用systemd-coredump调试应用程序崩溃
使用systemd-coredump调试应用程序崩溃systemd-coredump收集并显示内核核心转储,以分析应用程序崩溃。当某个进程崩溃(或所有属于某个应用程序的进程)时,其默认设置是将核心转储记录到日志中(systemd如果可能的话包括回溯),并将核心转储存储在中的文件中 /var/lib/systemd/coredump。您还可以选择使用其他工具(例如gdb或crash) 检查转储文件(请参见第17.8节“分析故障转储”)。可以选择不存储核心转储,而仅记录日志,这对于最大程度地减少敏感信息的收集翻译 2020-12-21 19:33:41 · 5152 阅读 · 0 评论 -
GDB调试c++程序
示例文件main.cpp:#include <iostream>using namespace std;int main(int argc,char *argv[]){ cout << "hello gdb" << endl; return 0;}目录结构:codelee@lee-PC:~/code$ tree.├── bin├── lib└── src └── gdb └── mian.c原创 2021-01-01 11:52:48 · 833 阅读 · 0 评论 -
程序如果已经宕掉该如何调试
方法一 : Core称为Coer Dump文件当程序宕掉的时候,可以生成当时程序对应内存的镜像,从而分析当时程序的出错在哪边。例如:调试服务端程序,让程序跑,直到宕掉如何生成 :ulimit -c n 单位kBn表示CoreDump最大有多大,再大就不会生成了ulimit -c unlimited不显示CoreDump文件的大小注: 如果服务端程序是自动重启的,就会造成某一次出错存的CoreDump文件超大,占用大量系统资源,所以一般都会限制CoreDump文件的大小。gdb main原创 2021-01-01 14:02:13 · 893 阅读 · 0 评论