RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> >> > >> > ss:esp = 00e8:0000e002 ssacc = 0097 sslim = > >> 0000dfff > >> > >> судя по всему тpап 8 именно изза кончины стека :) > >> > > > dfff - это мало? > > > Более того: > > sslim=0000dfff - Это имхо макс. размер стека (stack > limit). Стек у интеловских процессоров, как известно, растет > в сторону меньших адресов. То есть, (имхо) обычное зна- > чение esp должно быть меньше dfff. Оно же (0000e002) на > несколько единиц больше (ниже дна стека). Объясните pls > чайнику, как такое могло случиться. :-) > > То есть, похоже, это не "кончина" стека, а просто промах > мимо стека? > > Кстати, у меня снова трапнулось (см. ниже) и со стеком > та же ерунда. > > > надо доставать .sym-ы для твоего ядpа, записывать > > тpапдумп и смотpеть пpи помощи pmdf в где точно > > оно упало. скоpее всего это либо в ядpе, либо в > > тцп стеке. хотя бывают и дpугие 32-бит дpайвеpа.. > > *.sym как оказалось, на месте, trap screen такой (с > символами): > > # > TRAP SCREEN INFORMATION > OS/2 Kernel Revision 14.065f_W4 Exception in module: > TRAP 0008 ERRCD=0000 ERACC=**** ERLIM=******** > EAX=ffed78d0 EBX=f9b5df01 ECX=00000000 EDX=000001f4 > ESI=faa90160 EDI=f5c01fec EBP=00005e64 FLG=00213246 > CS:EIP=0168:fff1dfb9 CSACC=c09b CSLIM=ffffffff > SS:ESP=00e8:0000e002 SSACC=0097 SSLIM=0000dfff > DS=0160 DSACC=c093 DSLIM=ffffffff CR0=8001001b > ES=0160 ESACC=c093 ESLIM=ffffffff CR2=f9b5df31 > FS=0000 FSACC=**** FSLIM=******** > GS=0000 GSACC=**** GSLIM=******** > %D1f1dfb4 OS2KRNL trap0e + 5 > > Как я понял, функция trap0e вызывается, (имхо) > если где-нибудь произошел trap 0e: > > u %D1f1dfb4 l 00ff > > # > -------------поскипано------------------------------- > OS2KRNL trap0e: > 0168:fff1dfb4 e900000000 jmp fff1dfb9 > 0168:fff1dfb9 6a0e push +0e > 0168:fff1dfbb eb1f jmp fff1dfdc > 0168:fff1dfbd 90 nop > 0168:fff1dfbe 90 nop > 0168:fff1dfbf 90 nop > OS2KRNL trap0f: > -------------поскипано------------------------------- > > -- Для каждого кода своя процедура. То есть, похоже > как раз тут и происходит IPE, а где до этого трапнулось -- > как найти? Помогите pls. > > После jmp fff1dfdc: > > -------------поскипано------------------------------- > OS2KRNL TRAPCommonFaultEntry: > 0168:fff1dfdc 6650 push ax > 0168:fff1dfde 668cd0 mov ax,ss > 0168:fff1dfe1 663d6001 cmp ax,0160 > 0168:fff1dfe5 7418 jz fff1dfff > 0168:fff1dfe7 663d2015 cmp ax,1520 > 0168:fff1dfeb 7412 jz fff1dfff > 0168:fff1dfed 663d5015 cmp ax,1550 > 0168:fff1dff1 740c jz fff1dfff > 0168:fff1dff3 663d5815 cmp ax,1558 > 0168:fff1dff7 7406 jz fff1dfff > 0168:fff1dff9 81e4ffff0000 and esp,0000ffff > 0168:fff1dfff 6658 pop ax > 0168:fff1e001 e900000000 jmp fff1e006 > 0168:fff1e006 f644241202 test byte ptr [esp+12],02 > 0168:fff1e00b 0f8532010000 jnz fff1e143 > 0168:fff1e011 f644240c03 test byte ptr [esp+0c],03 > 0168:fff1e016 0f8400020000 jz fff1e21c > 0168:fff1e01c 36803dd8ff000001 cmp byte ptr ss:[0000ffd8],01 > 0168:fff1e024 0f844d010000 jz fff1e177 > -------------поскипано------------------------------- > > Короче правда похоже что косяк со стеком -- трапается на > команде push +0e > > Попробую дальше раскрутить :-) > Просветите насчет стека, pls, мож я в чем не прав ;) >
__, _, __, _,_ _, _
|_ / \ |_) | | |\/|
| \ / | \ | | | |
~ ~ ~ ~ `~' ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.