调试
文章平均质量分 85
小飞侠hello
这个作者很懒,什么都没留下…
展开
-
linux gdb使用
gdb 是由软件系统社区提供的调试器。原创 2022-12-29 17:57:57 · 2440 阅读 · 0 评论 -
Qt调试详细日志文件输出
生成log.txt日志文件,记录详细日志信息(包括等级、所在文件、所在行号、描述信息、产生时间等),以便于快速跟踪、定位。恢复消息处理程序,调用qInstallMessageHandler(0)。那么在qt createor的应用程序输出窗口就不会有调试信息显示。包括等级、所在文件、所在行号、描述信息、产生时间。安装写在main()方法中,这样全局所有类的。都可以将信息直接打印到日志文件中。等函数输出信息重定向处理。qWarning:警告信息。,对qDebug()、回调函数处理日志信息,原创 2023-06-19 19:40:33 · 1977 阅读 · 2 评论 -
qt 内存泄漏处理办法
b.将“vld安装目录/lib/Win64"或者“vld安装目录/lib/Win32"(注意位数,根据你的Qt库位数确定)下的vld.lib拷贝到qt具体项目的lib目录。可以得到内存泄漏点的调用堆栈,如果可以的话,还可以得到其所在文件及行号;可以设置内存泄露报告的级别。a.复制vld安装目录下include文件夹中的文件vld.h和vld_def.h到qt具体项目的include文件夹中。将安装目录下的VLD\bin\Win32和VLD\bin\Win64添加到系统环境变量path里。原创 2023-02-17 12:17:36 · 2196 阅读 · 0 评论 -
Windows平台下c++ 内存泄漏检查的办法(如VLD)
1.#define CRTDBG_MAP_ALLOC //注意顺序不能乱#include <stdlib.h> #include <crtdbg.h>int main(void){ int* leak = new int[10]; _CrtDumpMemoryLeaks();//注意必须放在程序的结尾处 return 0;}2.#include <crtdbg.h>int main(void){#ifdef...原创 2021-09-28 15:13:59 · 3089 阅读 · 0 评论 -
linux 下崩溃文件coredump 生成及调试分析
Windows环境崩溃问题(dump)可根据vs调试或windbg工具查看.linux环境崩溃文件为core文件,可以使用gdb进行调试分析。原创 2022-12-30 18:29:03 · 3990 阅读 · 0 评论 -
qt 崩溃处理
配置Symbol file path(符号路径)、Source file path(源文件路径)、 Image File Path(可执行文件路径):可执行文件路径(这个选择具体的exe文件报错,只能选exe文件所在文件夹)release版本是不会自动生成pdb文件的。:把生成的pdb文件所在目录及微软符号服务器加进去。生成exe自带生成pdb文件,所以无需处理。办法是:在pro文件中加入。原创 2022-12-30 16:39:58 · 2867 阅读 · 0 评论 -
Linux环境下内存泄露检测
默认memcheck。-log-file= 将输出的信息写入到filename.PID的文件里,PID是运行程序的进行ID。-log-socket=ipaddr:port 输出LOG到socket ,ipaddr:port。-log-file-qualifier= 取得环境变量的值来做为输出信息的文件名。-version 显示valgrind内核的版本,每个工具都有各自的版本。-log-file-exactly= 输出LOG信息到 file。-log-fd= 输出LOG到描述符文件 [2=stderr]原创 2022-12-30 12:07:08 · 1895 阅读 · 0 评论 -
利用windbg分析程序崩溃生成的dmp文件
Windbg是一款功能十分强大的调试工具,它设计了极其丰富的功能来支持各种调试任务,包括用户态调试、内核态调试、调试转储文件、远程调试等等。基本步骤:●STEP 1:打开Windbg,在file中选择open crash Dump来打开所需要调试的Dump文件。●STEP 2:在file菜单中分别设置好Symbol file path 和 Source file path。其中Symbol file path是程序编译时所生成的pdb文件,具体到某一个.pdb文件,如:...原创 2021-11-04 13:54:01 · 3757 阅读 · 0 评论 -
windows系统利用vs 分析DMP文件、pdb文件定位异常崩溃
exe文件、dmp文件和pdb文件必须保持一致!exe文件和pdb文件同时生成,dmp文件是由当前exe生成的。设置生成 pdb选择 项目 -> 工程名+属性,如下图所示。 之后选择 配置属性 -> 连接器 -> 调试,如下图所示。上图中,“生成调试信息”为pdb文件生成与否的使能开关,“生成程序数据库文件”为该pdb文件的名字,默认即可。DUMP文件生成dump文件的办法1.手动设置生成。在代码调试过程中,知道会出现bug的情况下,手动点击工具栏的调试..原创 2021-11-02 16:25:00 · 8524 阅读 · 1 评论 -
使用windbg 检查c++程序死锁
上一篇文章是使用lockcop软件检测死锁的。参考见:使用lockcop软件检测c++死锁_baidu_16370559的博客-CSDN博客现在使用windbg。可运行的程序和代码还是一样的。1.配置symbols因为我使用的windbg 版本是6.12 。提示Unable to resolve ntdll!RtlCriticalSectionList因为在新版本的windbg中可能部分指令不支持。如果有如下提示NTSDEXTS: Unable to resolve ntdll!Rt原创 2021-11-21 16:42:28 · 1192 阅读 · 0 评论 -
windbg远程调试方法
远程调试是需要又在不同位置上的调试器。执行真正调试称为调试服务器,另外一个,被称为调试客户端。调试客户端,控制着一个与远程调试器相应的是会话。有2种方式:直接使用windbg进行远程连接,使用cmd命令行。pdb文件一定放置在服务器上面,在客户端的windbg里设置的符号文件路径也一定设置服务器的路径,否则在客户端的调试器中会出现无法打开路径的警告。使用Windbg进行远程调试服务端1.在服务端当正常普通的情况下,使用Windbg运行可执行exe,像正常调试检测一样,可以执行到dmp文件原创 2021-12-14 20:03:11 · 3201 阅读 · 0 评论 -
c++ 内存泄漏
如类中包含指针成员变量,在未定义拷贝构造函数或未重载赋值运算符的情况下,编译器会调用默认的拷贝构造函数或赋值运算符,以逐个成员拷贝的方式来复制指针成员变量,使得两个对象包含指向同一内存空间的指针,那么在释放第一个对象时,析构函数释放该指针指向的内存空间,在释放第二个对象时,析构函数就会释放同一内存空间.原创 2022-03-07 14:19:15 · 363 阅读 · 0 评论 -
Windows平台release版本内存泄漏检查办法
release版本内存泄漏的使用工具是Leakdiag下载安装下载地址:链接:https://pan.baidu.com/s/1m_eJI3Iy-CNWLghpj5cyvw提取码:qiteLeakdiag下载之后按照默认设置安装,否则好像是会出问题的。默认安装是直接装在C盘下。Logs文件夹里边存储的就是记录的日志,我们则是通过启动leakdiag应用程序进行检测。LeakDiag支持5种不同的分配:1) Virtual Memory Allocator 虚拟分配。 这种分.原创 2021-12-17 17:26:48 · 1832 阅读 · 1 评论