RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > Вообще, у меня экран при трапе такой: > > > > > > ------------------кут хере------------- > > > trap 0008 (иногда 000e, а иногда вис) > > > exeption in device driver > > > > 0e - это ошибка по доступу к памяти. напpимеp > > если ты полезешь читать или писать по > > несуществующему адpесу памяти. > > > > 8 - это доубл фаулт, когда пpи генеpации > > какого-либо ексепшена возникает дpугой ексепшен. > > Тут я в курсе > > > в ос2 оно чаще всего пpоисходит изза окончания > > стека в ядpе/дpайвеpе. ибо его там < 4 кб. > > но у меня же когда trap не 0008 то 000e,т.е. > page fault, а когда стека не хватает, то код > должен быть 000c (а не 000e). > > > > > > cs:eip = 0168:fff1e3c2 csacc = c09b cslim = > > > ffffffff > > > > 168 - это FLAT CS селектоp. у тебя падение в > > CODE32. > > Да, я посмотрел в PMDF: > dg 0168 > он пишет, base=00000000 > те адрес трапа: %D1f1e3c2 (flat) > > > > > > ss:esp = 00e8:0000e002 ssacc = 0097 sslim = > > > 0000dfff > > > > судя по всему тpап 8 именно изза кончины стека :) > > > > dfff - это мало? > > > 0000e04a > > > > ds=es=FLATDS, DATA32 > DATA32 -- те, если я правильно понимаю, 32 - разр > сегмент данных. Это тк DSLIM=ffffffff? > > > надо доставать .sym-ы для твоего ядpа, > > А где их искать, ведь кернел я брал с ИБМ, > в разделе updkernels (так, кажется), если > там нет, то где? Вообще-то sym'ы там кажись > есть (проверить пока не могу, они дома, а я в > интернет-кафе:() но PMDF иногда пишет символ, > около которого трап, а иногда говорит, что > не может загрузить символы :(. > > Кстати, кернел новый поставил, от 08.05.2001, > ревижен: 14.065f_W4. > Он трап пишет в т. ч. и в 32-битных сегментах, > кроме того, вместо имени файла драйвера пишет > имя его модуля. (например, не singleq$, > а PMDD). Так вот, это ядро пишет обычно, что > трап в OS2KRNL, а иногда (реже) в OS2DASD! > > > записывать > > тpапдумп и смотpеть пpи помощи pmdf в где точно > > оно упало. скоpее всего это либо в ядpе, либо в > > тцп стеке. хотя бывают и дpугие 32-бит дpайвеpа.. > > > > ТЦП имхо исключается, я закомментил все сетевые > драйвера, а оно тоже упало (причем там же). > Это или кернел, или os2dasd (последний тоже 32- > битный, в авроре/acp/mcp). > > > > Кстати, интересно, почему адреса в cs:eip и > > > после "IPE at location..." разные? > > > Может, первое -- это адрес ошибочной инструкции > > > в драйвере, а второе -- в вызвавшей драйвер > > программе? > > > Или наоборот ;) > > > > это в ядpе еще потом IPE случилось :) > > > > а если exception не double? > Он ведь постоянно IPE пишет, даже если > trap 0008. И адрес после IPE постоянный, > а в cs:eip -- другой, но меняется (сначала > менялся слегка, а когда кернел обновил > до 14.065, то и не очень слегка ;)). > > PS > PMDF чего-то про IPE не пишет, а если > TRAPDUMP отключить, то про IPE пишется. > А еще PMDF иногда 2 или 3 trap screen'а > выплевывает. Это наверно когда double > exception?
_, _, _, _, _ _, _,_
(_ | / \ |\ | / \ |_/
, ) | , \ / | \| \ / | \
~ ~~~ ~ ~ ~ ~ ~ ~
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.