Undocumented Windows 2000 Secrets(中文)

Undocumented Windows 2000 Secrets(中文)

ID:39713251

大小:4.12 MB

页数:306页

时间:2019-07-09

Undocumented Windows 2000 Secrets(中文)_第1页
Undocumented Windows 2000 Secrets(中文)_第2页
Undocumented Windows 2000 Secrets(中文)_第3页
Undocumented Windows 2000 Secrets(中文)_第4页
Undocumented Windows 2000 Secrets(中文)_第5页
资源描述:

《Undocumented Windows 2000 Secrets(中文)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、●CSDNBlog●我的首页●联系作者《UndocumentedWindows2000Secrets》翻译:Kendiv我成功过,我失败过,但我从未放弃过。公告我们家最坏的就是他~~•学习方向:网络协议、嵌入式OS和软件工程。PersonalInfo:Name:KendivE-Mail:fcczj@263.netMSN:fcczj@hotmail.compdfby:林海雪原第一章Windows2000对调试技术的支持希望这些翻译能给大家有所帮助,我的E文不是很强,所以翻译的速度不是很快,我尽量保证

2、最少每周增加一篇新的译文,已贴出来的译文我还会经常回来做些修改,另外,在翻译时,有些非技术的内容,我会省略或者不译(水平低啊,译的费劲,呵呵)。希望大家多多指教。Toallthepeopleintheworldwhoneverstoppedasking“Why”尽管本书中的很多内容都称之为“Undocumented”,但其中的一些内容只能通过挖掘操作系统的代码才能获取。Windows2000DDK(DeviceDriverKit)提供了一个强大的调试器可以出色的完成这方面的工作。本章将从建立一个完

3、善的调试环境开始介绍。在阅读随后的章节时,你会经常的使用内核调试器来挖掘操作系统内部的各种特性。如果你对内核调试器很是厌烦,或许你需要制作一个自己的调试工具了。因此,本章还将介绍有关Windows2000调试接口的文档化和未文档化的资料,包括微软符号文件(SymbolFile)的详细信息。本章的特色是提供了两个示例库和用于列出进程、进程和系统模块,以及隐藏在Windows2000符号文件中的各种符号信息的示例程序。做为一个特殊的收获,在本章结束时,你将得到首份有关PDB(MicrosoftProg

4、ramDatabase)的公开文档。建立一个调试环境“嗨,我不想调试Windows2000程序。在此之前,我想自己写一个先!”当你读到这个标题时你可能会这样大喊出来。“很对!”我说“这就是你该去做的!”但是为什么你要以建立一个调试环境开始这次旅行呢?答案很简单:调试器是进入系统的后门。当然,这并不是调试器开发人员的主要目的。然而,当你跟踪代码的执行过程或者你的程序意外的玩完时,任何优秀的调试器都须能够告诉你一些有用的系统信息。仅仅报告一个指向4GB地址空间某处的8位崩溃地址,然后让你独自一人去寻找

5、到底发生了什么,真是无法让人接受。调试器至少应该告诉你最后执行的引发错误的代码是哪个模块中的代码,而且,在理想情况下,它还应该告诉你让你的程序玩完的那个函数的名称。因此,调试器通常必须知道比编程手册还要多的系统信息,你可以利用这些信息来研究系统的内部情况。Windows2000提供了两个调试器:WinDbg.exe(发音很像“WindBag”,译注:WindBag在俚语中指空话连篇的人)一个Win32GUI程序和i386kd.exe一个提供与之等价功能的命令行模式程序。我曾经同时使用过这两个程序,

6、最后确定i386kd.exe是最好的一个,因为它有一组非常强大的选项。不过,最近看来WinDbg.exe似乎有所改进。不过,本书中的所有例子都是与i386kd.exe相关的。就像你猜想的那样,i386前缀表示目标平台(Intel386处理器家族,也包括Pentium)kd是KernelDebugger(内核调试器)的缩写。Windows2000内核调试器是一个非常强大的工具。比如,他知道如何使用Windows2000安装光盘中的符号文件(Symbolfiles),因此,可以给出系统内存中几乎任何地

7、址的相关符号信息(这非常有价值)。而且,它还可以反编译二进制代码、将内存信息的16进制转储数据以多种格式显示,甚至还能显示一些内核关键结构的布局。在调试器的在线帮助中有其命令行接口的详细文档。准备一次崩溃转储(CrashDump)这些都是好消息。坏消息是你在内核调试器顺从你之前,必须做一些准备工作。第一个障碍是调试通常涉及两台独立的计算机(通过线路连接在一起),其中一台运行调试器,另一台用于被调试。然而,如果并不需要实时调试,那么有一个简单的方法,可以不需要第二台机器。例如,如果一个有错误的程序抛

8、出了一个未处理的异常而引发了声名狼藉的NT蓝屏死机(BlueScreenOfDeath,BSOD),你可以选择保存崩溃前的内存映像到一个文件中,在重新启动后,检查这个崩溃转储(CrashDump)文件。这项技术通常被叫做postmortem(事后检查)在拉丁文中,postmortem意思是“afterdeath”。这种方式是本书首选方法之一。在这里,我们的主要任务是研究系统内存,在大多数情况下,内存数据是来自还在工作的系统或者来自系统崩溃前内存的一个快照(snapshot)都并不重

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。