![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Debug
文章平均质量分 77
Adam040606
这个作者很懒,什么都没留下…
展开
-
使用 Strace 和 GDB 调试工具的乐趣
转自:http://www.cnblogs.com/lidabo/p/4523772.html编写 UNIX® 系统程序充满乐趣,并且具有教育意义。使用 UNIX strace 工具和 GDB(GNU 项目调试工具),您可以真正地深入研究系统的功能,并了解组成这些功能的各种各样的程序。同时使用这两种工具,能够在查看 UNIX 计算机底层信息 的时候,给您带来更好的体验。UNIX 家族总是为转载 2015-06-25 16:02:14 · 445 阅读 · 0 评论 -
Enabling Page Heap Verification
转自:https://msdn.microsoft.com/en-us/library/windows/hardware/ff543094(v=vs.85).aspxThe following commands enable full and standard page heap verification for myapp.exe, a fictitious program.转载 2016-01-22 10:15:23 · 455 阅读 · 0 评论 -
gflags调试访问越界
转自:http://www.cnblogs.com/cswuyg/archive/2011/09/27/gflags.html昨天、今天调dump,对windbg相当的不熟悉,但也慢慢的知道了一些常用的命令,几周前听说到有gflags这样个工具,今天正好测试下。 gflags.exe是中的一个小工具。 安装下载链接:http://msdn.microsof转载 2016-01-22 10:14:35 · 584 阅读 · 0 评论 -
C++中Delete时堆错误(Heap Corruption)的原因
转自:http://ushertechblog.sinaapp.com/post-27.html最近这三四天一直在跟一个bug做斗争:程序在运行过程中死掉,Output窗口显示: 1.Windows has triggered a breakpoint in ***, This may be due to a corruption of the heap...转载 2016-01-22 10:12:37 · 2374 阅读 · 0 评论 -
保留PDB,节省调试耗时
转自:http://blog.163.com/hao_dsliu/blog/static/131578908201411314610310/我们在解决Bug的时候经常遇到一些难重现的Bug。例如偶尔崩溃的问题,如果错失现场,也许花几天时间也难重现,最后不了了之。在发布后,可能在客户那里重新出现,这种Bug很让人懊恼。如果我们能掌握一些Release模式下的调试技巧,事情转载 2016-01-20 23:08:21 · 1336 阅读 · 0 评论 -
记一次tcmalloc分配内存引起的coredump
转自:http://www.cppblog.com/kevinlynx/archive/2015/04/06/210257.html现象线上的服务出现coredump,堆栈为:#0 0x000000000045d145 in GetStackTrace(void**, int, int) ()#1 0x000000000045ec22 in tcmalloc::P转载 2015-11-13 10:23:17 · 2386 阅读 · 0 评论 -
memset报传入的实参太多的错误
调试一段老代码,编译始终报以下错误:/usr/include/string.h:459: 错误: 给予 function 'void memset(void*, int)' 的实参太多memset的函数原型为:void *memset(void *s, int ch, size_t n)因此,源代码中针对memset的调用参数是没问题的。错误提示中,针对memset的调原创 2015-07-19 11:24:39 · 1576 阅读 · 0 评论 -
五种利用strace查故障的简单方法
转自:http://blog.csdn.net/dlmu2001/article/details/8842891我一直惊讶为什么这么少的人认识到可以利用strace来干的事,它一直是我的第一调试工具,因为基本上它存在于我运行过的所有的Linux系统上,它可以用来在很多方面进行故障诊断。什么是strace?strace是一个非常简单的工具,它可以跟踪系统调用的转载 2015-07-06 12:59:52 · 859 阅读 · 0 评论 -
定位多线程内存越界问题实践总结
转自:http://blog.csdn.net/killmice/article/details/38443343最近定位了在一个多线程服务器程序(OceanBase MergeServer)中,一个线程非法篡改另一个线程的内存而导致程序core掉的问题。定位这个问题花了整整一周的时间,期间历经曲折,尝试了各种内存调试的办法。往往感觉就要柳暗花明了,却发现又进入了另一个死胡同。最后,使转载 2015-07-26 23:00:33 · 857 阅读 · 1 评论 -
关于dumpbin和undname的使用
dumpbin和undname是微软vs自带的两个小工具。前者可以用于查看obj、ilb、dll等文件的符号表,后者可以用于根据Name Mangling之后的字符串反推函数原始声明。在排查LINK 2019链接错误时,这两个命令较为有用。1. 关于dumpbin使用dumpbin查看符号表,举例:dumpbin /symbols session_base.obj原创 2015-06-15 16:06:08 · 1841 阅读 · 0 评论 -
性能杀手:”潜伏”的memset
转自:http://blog.csdn.net/yunhua_lee/article/details/6381866【memset性能陷进】memset是大家常用的函数,而且一般的编程书籍都会谆谆告诫大家:申请内存后要初始化,防止使用未经初始化的内存导致不可预知的结果,所以我们一般都会按照如下方式编写代码:char* buffer = (char*)malloc(1024);m转载 2015-07-05 23:23:19 · 413 阅读 · 0 评论 -
调试 之gdb thread命令 与 ltrace/strace
转自:http://blog.csdn.net/tyger/article/details/5684816我们可以通过 1) gdb prog_name -> r 用在逐步调试自己的程序时 2) gdb -> attach process_id 正在运行中的后台程序突然卡在了某个地方,先ps再g转载 2015-07-05 23:30:31 · 465 阅读 · 0 评论 -
使用strace, ltrace寻找故障原因的线索
转自:http://blog.csdn.net/delphiwcdj/article/details/73873252012-03-23 wcdj在GNU/Linux环境下,当程序出现“疑难杂症”的时候,如何快速定位问题呢?本文介绍strace/ltrace的一些使用方法,内容主要来自个人的读书笔记(可见参考文献)。strace/ltrace 是一类不错的工具,在工作中转载 2015-07-05 23:25:15 · 502 阅读 · 0 评论 -
技巧: 使用truss、strace或ltrace诊断软件的"疑难杂症"
转自:http://www.ibm.com/developerworks/cn/linux/l-tsl/简介进程无法启动,软件运行速度突然变慢,程序的"Segment Fault"等等都是让每个Unix系统用户头痛的问题,本文通过三个实际案例演示如何使用truss、strace和ltrace这三个常用的调试工具来快速诊断软件的"疑难杂症"。truss和strac转载 2015-07-05 23:21:34 · 472 阅读 · 0 评论 -
深入探索Linux coredump调试技巧
转自:http://blog.csdn.net/forever_feng/article/details/46764201. coredump 产生的原理和局限1.1. 如何产生 core 文件要素一,必须有信号产生:从上面的信号定义和说明可以看出,进程中止前肯定会产生信号,然后内核根据信号的类型来决定是否要产生 core 文件。要素二,编译器支持:要产生 core 文转载 2015-07-26 20:28:23 · 1339 阅读 · 0 评论 -
自助Linux之问题诊断工具strace
转自:http://www.cnblogs.com/lidabo/p/4523755.html引言“Oops,系统挂死了..."“Oops,程序崩溃了..."“Oops,命令执行报错..." 对于维护人员来说,这样的悲剧每天都在上演。理想情况下,系统或应用程序的错误日志提供了足够全面的信息,通过查看相关日志,维护人员就能很快地定位出问题发生的原因转载 2015-06-25 16:03:19 · 490 阅读 · 0 评论 -
Debug Assertion Failed! Expression: _pFirstBlock == pHead
转自:http://blog.csdn.net/giantpoplar/article/details/47295877最近在VS上开发C++程序时遇到了这个错误:Debug Assertion Failed! Expression:_pFirstBlock == pHead如图:点击Abort之后,查看调用栈,发现异常在函数return时被转载 2016-08-15 22:56:34 · 605 阅读 · 0 评论