· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Просмотр ошибок чужих потоков

Посл.отвђт Сообщенiе


Дата: Мар 23, 2004 20:16:32

Меня давно интересовала одна утилита ...
В общем если её обозвать Error Monitor , то станет понятно её назначение .
Но такой я нигде не встречал .

Соответственно вопрос . Как можно организовать сабж ?

Мои размышления :

- GetLastError , возвращает ошибки только своего потока и кроме того эту ф-цию надо вызывать постоянно , что тормозно . Пока откидываю .

- DebugActiveProcess не подходит , т.к. отлаживаемое приложение должно существовать без моего . Хотя мне интересно , что Debug API предлагает полезного .

- EventLog , отпадает т.к. там можно получать ошибки только зарегистрированных в нём приложений , и скомпиленных с учётом его требований .

- Dr.Watson , э-э-э , не знаю как он работает , ещё не смотрел .

- OllyDbg , эта ВЕЩЬ при отладке показывает LastError , как она его получает ? Трассировка с вызовом GetLastError ?

Какие ещё можна использовать средства , просветите в этом вопросе .


Дата: Мар 23, 2004 20:49:50

Я бы просто использовал недокументированные структуры. Ты посмотри внимательнее TEB и PEB. Вот и увидишь, откуда Olly его берет. А теперь просто состряпать просмотрщик процессов, который будет для каждого процесса в риалтайме находить TEB/PEB и извлекать значение оттуда. Ничего принципиально сложного я не вижу.


Дата: Мар 23, 2004 21:14:12

Я бы просто использовал недокументированные структуры.

Я ещё документированные не все знаю :)

Ты посмотри внимательнее TEB и PEB

Я даже не внимательно ещё ни разу не смотрел :))
Хотя вру , только что уже посмотрел :
typedef struct _TEB {...,LastErrorValue,...,ExceptionCode,...}

Спасибо volodya , буду действовать , а то бы ещё долго читал "документированное" .


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.049