![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件调试
文章平均质量分 54
雪下寸林夕
追求,是一种态度
展开
-
GDB配置支持查看stl容器数据
下载http://www.yolinux.com/TUTORIALS/src/dbinit_stl_views-1.03.txt 导入catdbinit_stl_views-1.03.txt >>~/.gdbinit pdequeue pmap_member pstring pwstringplist ppqueueplist_member pqueue pset...原创 2022-02-15 18:59:50 · 600 阅读 · 0 评论 -
日志断言堆栈信息(模糊)定位代码具体行数方法
例如如下断言信息1: (()+0xf630) [0x7f0625547630] from /lib64/libpthread.so.02: (std::_Rb_tree_increment(std::_Rb_tree_node_base const*)+0x22) [0x7f0624c68532] from /opt/h3c/lib/libstdc++.so.6按照如下步骤提取信息1.地址转换2: (std::_Rb_tree_increment(std::_Rb_tree_nod.原创 2022-02-16 15:47:43 · 668 阅读 · 0 评论 -
windbg指令整理
调试指令:bp、bu和bm命令设置了新的断点,但是它们有不同的特征:bp (Set Breakpoint)命令在命令中指定的断点位置的地址上设置一个新的断点。如果调试器在设置断点时不能解析断点位置的地址表达式,则bp断点将自动转换为bu断点。使用bp命令创建一个断点,该断点在模块卸载时不再处于活动状态。bu(设置未解析断点)命令设置一个延迟的或未解析的断点。bu断点是在命令中指定的断...原创 2019-12-30 17:15:19 · 348 阅读 · 0 评论 -
windbg经典死锁分析实例
死锁经典代码(代码来源:http://www.debuginfo.com/examples/src/DeadLockDemo.cpp):#include <windows.h>#include <tchar.h>#include <process.h>#include <stdio.h>typedef unsigned (__stdc...原创 2019-12-18 12:47:50 · 1602 阅读 · 0 评论 -
抓取dump的八种方式
软件崩溃保留进程的方式:1. cmd + taskmgr + 右击保存转储文件;采用实时(JIT)调试机制:2. 使用procdump.exe工具 安装方式:cmd + [MyPath]\procdump.exe -i [DumpPath];3. 使用windbg.exe工具 启用方式:cmd + windbg -I (I必须大写,小写无效) 使用.dump [/ma /mdi] ...原创 2019-12-17 21:35:15 · 1620 阅读 · 0 评论 -
UnhandledExceptionFilter:0xC0000005 Dump分析实例
崩溃分析:1.打开dump文件或挂载到崩溃残留线程;2.设置相同版本的pdb、源码路径; Symbol path设置为:srv*F:\symbols*http://msdl.microsoft.com/download/symbols;C:\myPath3.详细分析; 自动分析指令: !analyze -v (板蓝根...原创 2019-11-14 22:19:07 · 729 阅读 · 0 评论 -
软件调试(二)
按调试目标的系统环境分:windows下的调试、Linux下的调试、DOS下的调试按目标代码的执行方式分:本地调试、托管调试、混合调试、脚本调试脚本程序是由专门的解释程序解释执行的,不需要产生目标代码,与编译执行的程序有很多不同。对于编译执行的程序又分为两类:一类是先编译为中间代码,在运行时再动态编译为当前CPU能够执行的目标代码(用于托管调试)。另一类是直接编译和链接成目标代码的程序(用...原创 2019-11-14 22:37:52 · 155 阅读 · 0 评论 -
软件调试(一)
软件 = (程序 + 文档)的集合;程序的核心是按一定顺序排列的一系列指令。将指令看做一块积木,软件开发就是使用这些积木修建一个让CPU(中央处理器)在其中运行的交通系统。这个系统中有很多条不同特征的道路(函数)。有些道路只允许一辆车在上面行驶,一辆车驶出后另一辆才能进入,有些道路可以让无数车辆同时在上面飞奔。这些道路都是单行道,只可以沿一个方向行驶。在这些道路之间,除了明确的入口(entry...原创 2019-11-14 22:35:39 · 443 阅读 · 0 评论