![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
debug
dengjiang1999
这个作者很懒,什么都没留下…
展开
-
VC++6.0调试篇:远程调试
闻香止步 淘宝店 饰品 *木雕系列*:檀木、黄杨木、桃木发簪 樟木壁挂 佛珠http://shop36570193.taobao.com朋友,有空来看看,喜欢的朋友请收藏 VC开发环境之所以提供远程调试的能力,是因为有些情况下单机调试会让你崩溃掉。。。比如,调试GUI程序的WM_PAINT消息,因为要单步调试,所以调试器会对界面的重绘产生副作用(Heisenberg不确定性原转载 2008-11-25 10:34:00 · 621 阅读 · 0 评论 -
使用dbghelp获取调用堆栈--release下的调试方法学
Author : Kevin Lynx当软件作为release模式被发布给用户时,当程序崩溃时我们很难去查找原因。常见的手法是输出LOG文件,根据LOG文件分析程序崩溃时的运行情况。我们可以通过SEH来捕获程序错误,然后输出一些有用的信息作为我们分析错误的资料。一般我们需要输出的信息包括:系统信息、CPU寄存器信息、堆栈信息、调用堆栈等。而调用堆栈则是最有用的部分,它可以直接帮我们定位转载 2009-05-18 14:54:00 · 1028 阅读 · 0 评论 -
C/C++ call stack traces
2008/5/9这两天研究了一下C/C++ call stack traces,遂写了个小程序来输出一下call stack,该程序比较简单,只能输出调用栈上的函数名称,至于复杂点的输出请看下面2008/5/10处的修改。该程序用到了Dbghelp.dll 相信各位达人都知道Dbghelp,这里就不多说了。采用__cdecl 堆栈调用标准,在VC++ 6.0下编译通过,下面贴出代码。转载 2009-05-18 14:11:00 · 2873 阅读 · 0 评论 -
大内高手--调试手段及原理
大内高手--调试手段及原理 知其然也知其所以然,是我们《大内高手》系列一贯做法,本文亦是如此。这里我不打算讲解如何使用boundschecker、purify、valgrind或者gdb,使用这些工具非常简单,讲解它们只是多此一举。相反,我们要研究一下这些工具的实现原理。 本文将从应用程序、编译器和调试器三个层次来讲解,在不同的层次,有不同的方法,这些方法有各自己的长处转载 2009-02-13 17:50:00 · 476 阅读 · 0 评论 -
VC++6.0调试篇:变量的观察--watch窗口的技巧(转)
接着上篇,写一下VC6的watch窗口的一些小技巧,对于调试过程是非常有帮助的。VC6年纪已经很大了,微软好像也不再支持,但是还是有很多人在用。我本人是非常喜欢它的小巧(相对vs2003,2005),占资源少,即使这样它的调试功能仍然超级强,真是不错。 好,废话到此结束,下面贴代码来说明:#include stdio.h>#include windows.h>cl转载 2008-11-28 16:24:00 · 1224 阅读 · 0 评论 -
VC++6.0调试篇:内存断点(转帖)
闻香止步 收集于:http://blog.csdn.net/coding_hello/archive/2008/03/08/2157908.aspx淘宝店 饰品 *木雕系列*:檀木、黄杨木、桃木发簪 樟木壁挂 佛珠http://shop36570193.taobao.com朋友,有空来看看,喜欢的朋友请收藏 经常有人问我关于内存断点的问题,刚才看帖又看到一个哥们问起转载 2008-11-28 16:20:00 · 739 阅读 · 0 评论 -
在线资源
闻香止步 收集于:http://advdbg.org/books/swdbg/resources.aspx 首先,WinDBG是在Windows操作系统上进行调试的首选资源。以下是它的主页: http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx WinDBG的帮助文件是学习WinDBG的好帮手,但是这个帮助文件内容非转载 2008-11-28 17:09:00 · 1012 阅读 · 0 评论 -
SD讲师张银奎专访:谈调试器的威力
闻香止步 收集于:http://news.csdn.net/n/20081104/120521.html 记者:丁力2008年的SD大会,在“语言与工具”专场,邀请到来自Intel的张银奎先生,将做主题为“感受和思考调试器的威力”的讲座。本刊记者就调试话题做了专访,下面为采访内容。记者:《程序员》早期的特别策划中,有人讲调试是程序员的一个基本功,您有什么观点?张银奎:调试是大转载 2008-11-28 17:07:00 · 1092 阅读 · 0 评论 -
浅谈VC6中Debug版本与Release版本生成的Exe的差异
用Vc6编写的程序有时候Debug版本好好的,Release版本运行就出错,很多人都遇到过这种问题。前几天又有人问起,于是找了点时间写下这篇东西。总结了一部分Debug版本和Release版本的区别,都是些个人理解,欢迎交流。 Debug版本和Release版本之所以有区别,就是在于各自的编译项不同。不同的编译项组合产生不同的代码,Debug版本的编译项屏蔽转载 2008-11-28 17:06:00 · 560 阅读 · 0 评论 -
实战:结合Dr.Watson系统日志和Vc6来定位多线程环境下程序异常退出的错误(转)
当开发的软件发布以后,在客户那运行时可能会因为各种原因导致程序退出。这种情况很尴尬,很明显我们无法在客户机器上装个Visual Studio调试,所以必须有机制来收集出错的信息。软件本身的运行日志能提供部分信息,但是可能还不够。Windows系统为此提供了解决方案:Dr.Watson工具。Dr.Watson也算是一个小巧的调试器,32位的版本名字是drwtsn32.exe。可用于当原创 2008-11-28 16:46:00 · 743 阅读 · 0 评论 -
Windows中主流的调试器介绍
调试器,顾名思义,就是用于调试的工具。为什么要调试呢?这得从一条虫子(bug)说起。江湖中传说还是在第一代真空管电子计算机时代,有一次研究人员发现计算机的行为不正常。于是他们就开始检查每个环节想找到原因,最终他们在机器里找到了条虫子(bug)从而解决了问题。于是后来便把发现并解决程序中与预期不符的行为称之为捉虫或除虫,也就bug加个De-前缀,即Debug。 火星人开发的程序是不是绝转载 2008-11-28 16:39:00 · 549 阅读 · 0 评论 -
VC++6.0调试篇:运行时间的观察--watch窗口的技巧续
微软精心打造的VC调试器确实非常方便,再来看个watch窗口的小技巧:用作计时器 有时候可能想要知道个函数或者一段代码运行需要的粗略时间。一般是假如一些计时的处理,比如函数开始时调用GetTickCount()记录开始时间,完了在调用一边获得结束时间,一减就出来~~ 不复杂,但是确实需要动代码。实际上调试器中的watch窗口就能帮你简单的完成这个功能。很简单的代码,mai原创 2008-11-28 16:32:00 · 801 阅读 · 0 评论 -
Windbg 分析 Dump File 简单演示
使用 Windbg 调试 Dump 文件是一种常用的手法,不同于 Attach Process,这种方式允许我们 "离线"完成调试工作。Dump 文件保存了目标进程某个时间点的内存及相关程序信息镜像。本文只是一个简单的调试过程演示,更多细节可参考 Windbg 及SOS.dll 的相关帮助。class Program{ private List list = new List转载 2009-07-12 15:23:00 · 1869 阅读 · 0 评论