约有 1,303 项符合查询结果, 以下是第 123 - 131项。
费时 < 1 秒。
还是不太清楚你的想法。在一个多任务的操作系统中,CPU在很多个任务和中断处理函数间忙碌。你怎么能保证读LBR的前一刹那就是在执行你用OD(OlleyDbg??)跟踪的程序呢?
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2008-07-26
SHL,关于记录到的分支,LBR只能记录最近几次的分支,因为CPU“最近”就是执行你的调试程序,所以你看到的内容就是那样。这是正常的,你观察我上面给出的例子,记录的也是CPU执行WinDBG的本地内核调试任务(NtSystemDebugControl和WRMSR)时的动作。
LBR能记录的分支次数较少,这也是它的最大局限。
对于第二个问题,BTS寄存器的地址和设置方法是与CPU型号有关的。你应该先用CPUID命令检查CPU型号,然后根据型号采取动作,就像清单5-5那样。
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2008-07-26
LBR是P6(Pentium Pro)就开始支持的功能。你能描述一下具体的现象么,在什么环境下,怎么记录不到?关于BTS,可以通过IA32_MISC_ENABLE MSR寄存器(地址为416-十进制)来检查是否支持,如果位11为0则支持,为1则不支持。
以我现在用的笔记本为例,其CPU是P6系统的奔腾M,因此支持LBR。
lkd> !lbr.lbrAccess LBR (Last Branch Recording) registers of IA-32 CPU.Version 1.0.0.2 by RaymondMSR_DEBUGCTLB=1LBR bit is cleared now.MSR_LASTBRANCH_TOS=3MSR_LASTBRANCH_3: ...
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2008-07-24
谢谢大家。关于工具的源代码,我整理后就会公开给《软件调试》的读者。可能需要免费注册,然后下载。最近天气炎热,工作也比较忙,可能再需要些时间,请大家等待一下。如果急需,请单独给我写EMAIL。就像我前面说的,驱动程序的小BUG就可能使系统崩溃,尽管因为免费可以声明不负责任,但是毕竟不好。
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2008-07-24
WANGyu wrote:呵呵,继续细分成CPU、编译器、操作系统对调试的支持?
那就是按《软件调试》的6篇分别建6个论坛了。我想这样也可以,但关键是人气,要有人来提问题:-)
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2008-07-23
Justinw, 多谢你的建议。这个建议很好。你能说的具体一些吗?目前我们已经建立“示例程序”,“问题答疑”、“工具”和“书友”四个论坛。你觉得还要分得更细么?
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2008-07-22
写书难,在中国写书更难。我曾经收到这样的匿名来信,“这本书太贵了,能不能把电子版发给我,我保证看了后就删除”。:-)在有些人的心目中,似乎所有书都该有电子版,所有电子版都该是随便看的。
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2008-07-16
目前,书中提到的5个工具(封底列出)没有提供完整的源程序文件和项目文件,但是其中的关键代码已经印在书中。以CPUWhere为例,原因是这样的:
1)CPUWhere是包含驱动程序的少数例子之一。因为驱动程序的编译环境相对复杂,一旦修改或者编译方法不当引入错误,那么可能损坏计算机系统。CPUWhere的目的是用来说明CPU的分支监视和记录功能,不是为了介绍驱动程序开发,因此没有提供完整的驱动程序源文件,但是关键的代码已经在书中,也就是121页的清单5-6。
2)因为成本和时间原因,这本书没有能带光盘,目前源代码和附带工具是自由下载的,也就是没有买书的任何人都可以下载,对于买了书的朋友,如果你确实需要有关的完整源代码,那么你可以单独写EMAIL给我。
Posted in 《软件调试》的示例程序
by
格蠹老雷
on 2008-07-16
以下是摘自《软件调试》前言的回答:
要读懂和领会本书的内容,笔者希望读者已经具备了以下基础:
1)曾经亲自参与编写程序,包括输入代码、编译,然后执行。
2)使用过某一种类型的调试器,用过断点、跟踪、观察变量等基本调试功能。如果对这些功能充满了好奇,希望了解它们是如何工作的则更好。
3)承认软件的复杂性,认为开发一个软件产品与写一个HelloWorld程序根本不是一回事,参加过某个软件开发项目,对软件工程有基本的了解。
补充一句,其实与其说基础知识重要,还不如说要深刻理解计算机系统和完全掌控软件的决心重要。
Posted in 《软件调试》答疑
by
格蠹老雷
on 2008-07-16