DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
上一页 1 ··· 106 107 108 109 110 111 112 113 114 ··· 474 下一页

2021年2月6日

摘要: C++死锁问题定位与分析 一,测试代码 二,等待链 三,死锁的定位和分析 C++程序异常一般有两种表现形式:程序崩溃和程序无响应。程序崩溃主要是由指针,数组越界等原因引起,这种情况可以直接通过在程序中加入Dump捕捉逻辑,分析dump文件,定位出崩溃的代码。程序无响应主要是由死循环和死锁两个原因造成 阅读全文
posted @ 2021-02-06 14:15 DoubleLi 阅读(1565) 评论(0) 推荐(0)

摘要: C++ delete指针后依然可以访问的问题 一,第一个dump分析 二,第二个DUMP分析 三,VC6.0和VS2015下delete指针验证 四,结论 这两天在定位一个BUG:我们的程序运行过程中,点击停止运行,程序偶现无响应和崩溃,此时无查询操作(因为当并发查询的时候,有出现其他bug,特意确 阅读全文
posted @ 2021-02-06 14:14 DoubleLi 阅读(536) 评论(0) 推荐(0)

摘要: Windows下c++程序崩溃问题定位 一,WinDbg调试 二,地址偏移计算验证 三,通过map文件定位程序崩溃代码行数 Windows下c++程序崩溃问题定位主要依赖于代码编译过程中生成的调试信息文件,比如.map和.pdb。 本文以前几天项目中出现的崩溃问题当做具体案例来分析。具体原因是配置了 阅读全文
posted @ 2021-02-06 14:12 DoubleLi 阅读(2654) 评论(0) 推荐(0)

摘要: Windbg调试一)minidump崩溃捕捉 一,系统的异常处理顺序 二,SetUnhandleExceptionFilter函数 三,Minidump 四,代码演示 在日常工作中,本地c++代码发生崩溃时,编译器都可以帮我们捕捉到并且定位到具体的代码,这是因为编译器接收到了操作系统发送过来的程序异 阅读全文
posted @ 2021-02-06 14:10 DoubleLi 阅读(1107) 评论(0) 推荐(0)

摘要: 设置符号路径 利用环境变量设置符号路径 在WinDbg启动时,会根据 _NT_ALT_SYMBOL_PATH 和 _NT_SYMBOL_PATH 的值设置符号路径: > set _NT_ALT_SYMBOL_PATH="D:\symbols" > windbg notepad.exe 利用启动参数设 阅读全文
posted @ 2021-02-06 11:54 DoubleLi 阅读(2715) 评论(0) 推荐(0)

摘要: WinDbg可以通过加载Symbol文件(*.pdb),即时的调试程序。WinDbg如何找到相应的符号文件呢?WinDbg首先在.exe或者.dll所在目录下寻找同名的.pdb文件。如果找不到,WinDbg在Symbol File Path中查找。Symbol File Path可以通过多种方式设置 阅读全文
posted @ 2021-02-06 11:51 DoubleLi 阅读(3808) 评论(0) 推荐(0)

摘要: Windbg符号与源码 《第二篇》 符号文件是一种辅助数据,它包含了对应用程序代码的一些标注信息,这些信息在调试过程中非常有用。如果没有辅助数据,那么能获得的信息就只有应用程序的二进制文件。二进制文件很难调试,因为无法看到代码中的函数名、数据结构名等。这正是符号文件能显示的。符号文件的扩展名通常是p 阅读全文
posted @ 2021-02-06 11:32 DoubleLi 阅读(308) 评论(0) 推荐(0)

摘要: 我们经常用的windbg symbol path设置是: File -> Symbol File Path 但是自从OS升级到Win10以后,发现这个设置只能单次有效,关闭windbg后再打开,又需要重新设置,对于Windows symbol很是麻烦,查了下MSDN,原来还可以通过环境变量进行设置, 阅读全文
posted @ 2021-02-06 11:22 DoubleLi 阅读(1029) 评论(0) 推荐(0)

摘要: 一、Windbg Windbg是微软开发的一套调试器中的组件。WinDBG属于内核级别调试器,不仅可以用来调试应用程序,也可以调试内核级的代码,如驱动程序。Windbg由于其丰富的命令和对Windows的原生支持还有其易用性,是其他其他调试器望尘莫及的。如果安装了Windows SDK,一般会带有w 阅读全文
posted @ 2021-02-06 10:20 DoubleLi 阅读(3716) 评论(0) 推荐(0)

摘要: 前面4篇文章提到的方法,已经可以解决我们的大部分内存泄露问题了,但是这些方法是有前提的,那就是一定要有源代码,而且还只能是Debug版本调试模式下。实际上很多时候,我们的程序会用到第三方没有源代码的模块,有些情况下模块有内存泄露,但是没有证据,又或者VC++ MFC退出提示有内存泄漏,但是信息不足, 阅读全文
posted @ 2021-02-06 10:10 DoubleLi 阅读(451) 评论(0) 推荐(0)

上一页 1 ··· 106 107 108 109 110 111 112 113 114 ··· 474 下一页