译文
文章平均质量分 78
BBirdlyh
这个作者很懒,什么都没留下…
展开
-
译文:我是怎样使用BoundsChecker的
我是怎样使用BoundsChecker的――译自http://www.codeguru.com/cpp/v-s/debug/debuggers/article.php/c4417/ John Robbins How I use BoundsChecker 在开始本文之前,我想声明的是我曾经在NuMega工作过,并在那里参与编写了BoundsChecker的3、4、5版本翻译 2007-12-14 15:14:00 · 2143 阅读 · 0 评论 -
程序调试指南1:使用CDB和NTSD进行调试
简介调试无疑是软件开发和维护中是最有用的技能之一,它贯穿于产品的整个生命周期内。开发者在刚开始建立工程时就会遇到来自于逻辑、语法、编译器等方面的各种各样的BUG。当软件提交给QA,在复杂环境中做深入测试的时候,还会出现很多问题。即便产品发布后,它仍需要支持和维护。调试工作不会在用户得到软件那天停止,软件公司会陆续接到问题反馈,然后不得不重新组织调试工作。目的"tutorial #翻译 2007-12-20 17:40:00 · 2775 阅读 · 0 评论 -
调试指南2:堆栈(原文By Toby Opferman http://www.codeproject.com/KB/debug/cdbntsd2.aspx)
简介欢迎进入应用程序调试指南的第二部分。在这篇文章里,我将为大家研究一下堆栈,以及它在调试中扮演着怎样重要的角色。每当你问起:“当遇到陷阱时你会怎么做?”最常见的回答是“跟踪一下调用堆栈”。这样做是对的,当研究程序崩溃的dump时,第一件要做的事就是查看调用堆栈。可能这篇指南对你来说太简单了,我感到很抱歉。我之所以把它的级别定为中级,是因为它需要一些汇编的知识,否则将它定为初级会比翻译 2007-12-28 12:45:00 · 3022 阅读 · 0 评论 -
调试指南3 堆以及堆上常见的问题
简介在前一部分中我们了解了关于堆栈的知识。堆栈是为本地变量、参数、返回值准备的临时存储区。这一部分里,我们将了解一下堆在用户模式下是怎样一个东西。什么是堆?堆是进程空间内的一块存储区,应用程序在需要时可以使用系统API来进行内存申请。系统API会在被申请过的内存位置上加上一个头来标记它们是否正在被使用的,以及他们的大小。当系统释放这些内存时就会使用这些参数。(全局变量也是保存在堆翻译 2008-01-07 10:54:00 · 1784 阅读 · 0 评论 -
调试指南4:编写调试器扩展命令
简介欢迎来到第四部分。这部分中,我们将稍稍偏离一下实际的调试,深入研究一下怎样建立有用的调试辅助工具。当然,我不会仅仅写一个辅助工具,我将为大家展示一下,有些情况,我们不得不写一些很繁琐的东西。我们会看到这些东西最好自动生成,然后我再向大家介绍怎样自动生成它们。在我的这些文章中,我经常会在栈或其它位置搜索一些字符串。为什么要这么做呢?人不是电脑,我们能理解的是语言而不是那些数字。许多翻译 2008-01-08 11:20:00 · 1583 阅读 · 1 评论