Отладка приложений

         

в которой Windows 98 превосходит



Есть одна область, связанная с отладкой, в которой Windows 98 превосходит Windows 2000. Речь идет о журналах программы Dr. Watson. В Windows 98 эти журналы содержат гораздо больше информации, особенно о процессах, выполняющихся в системе, и о версии каждого модуля. С помощью этой информации намного легче дублировать состояние машины при ее тестировании.

Большая часть аварийной информации, регистрируемой в журнале программы Dr. Watson, одинакова для этих операционных систем, но в Windows 98 ее намного больше. Например, программа Dr. Watson из Windows 98 дизассемблирует каждый элемент в стеке вызовов. Чтобы пояснить дополнительную информацию, с которой вы можете встретиться в журнале программы Dr. Watson, рассмотрим секцию Details этого журнала.

Верхняя часть секции Details выглядит так:

 *———> Details <———*

Command line: "g:\Dev\Book\CD\SourceCode\Output\WDBG.exe" 

Trap Oe 0000 - Invalid page fault

eax=00000000 ebx=0065fba6 есх=ООЬ938ЬО edx=fffdcla5 esi=005301c0

edi=0065fae4

eip=0040bd2d esp=0065f908 ebp=0065f934 — — — nv up El pi nz na PE nc 

cs=0167 ss=016f ds=016f es=016f fs=38d7 gs=382f

WDBG.EXE:.text+0xad2d:

>0167:0040bd2d 8b4804 mov ecx,dword ptr [eax+04]

В начале секции показана полная командная строка, за которой следует описание ошибки, похожее на описание исключения в Windows 2000. После описания ошибки выводится секция регистров (в том же формате, что и в Windows 2000), а за ней — команда, которая вызвала сбой.

Далее Windows 98 выводит часть своего 16-разрядного "наследия" — таблицу сегментных регистров, где показаны значения соответствующих селекторов. Дополнительную информацию можно получить в руководствах по процессорам Intel.

       sel   type   base     lim/bot

       ----  ---- ------  --------

cs   0167    r-x-  00000000  ffffffff

ss   016f    rw-e  00000000  OOOOd7aO


Содержание раздела