首页
社区
课程
招聘
[翻译]Advanced Windows Debugging的第五章
发表于: 2010-11-22 06:51 6423

[翻译]Advanced Windows Debugging的第五章

2010-11-22 06:51
6423

准备开始新的阶段好好学习了,发篇译文鼓励下自己。

第一次发翻译文章,排版啊什么的可能都有点乱,大家将就下吧。
不对的地方那是肯定有的,如果你有空,请MAIL我修正,谢谢!

附件中有pdf和word两个版本,应该总有一款适合你吧。

另外,原文肯定是没办法贴出来了,来个第一页意思一下:

CHAPTER 5 MEMORY CORRUPTION PART I—STACKS

A memory corruption is one of the most intractable forms of programming error for
two reasons. First, the source of the corruption and the manifestation might be far
apart, making it difficult to correlate cause and effect. Second, symptoms appear
under unusual conditions, making it hard to consistently reproduce the error.

    Fundamentally, memory corruption occurs when one or both of the following are
true.
    ■ The executing thread writes to a block of memory that it does not own.
    ■ The executing thread writes to a block of memory that it does own, but corrupts the state of that memory block.

To exemplify the first condition, consider this small application:

#include <windows.h>

#define BAD_ADDRESS 0xBAADF00D
int __cdecl wmain (int argc, wchar_t* pArgs[])
{
    char* p =(char*)BAD_ADDRESS;
    *p=’A’;
    return 0;
}

This small application declares a pointer to a char data type and initializes the pointer to an address for which it does not have access (0xBAADF00D). The net result of running the application is a crash, and the dreaded Dr. Watson UI pops up. Although it’s very clear that this simple application performs an invalid memory access, more complex systems can be trickier to figure out.


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (1)
雪    币: 134
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
鼓励下~~~~!
2010-11-22 20:33
0
游客
登录 | 注册 方可回帖
返回
//