Bug总能在你意想不到的地方给你个措手不及,只是它所带来并不是惊喜,而是Blue Screen Of Death !
既如此,只能兵来将挡。
先介绍一下程序的大体流程:
NTSTATUS
XXXProcessDirents(…)
{
do {
KeEnterCriticalRegion();
ExAcquireResourceSharedLite(&fcb->Resource, TRUE);
/* access several members of fcb structure */
ExReleaseResourceLite(&fcb->Resource);
KeLeaveCriticalRegion();
XXXXProcessDirent(…);
} while (list_is_not_empty(….));
return status;
}
NTSTATUS
XXXXProcessDirent(…)
{
HANDLE handle = NULL;
XXXX_FILE_HEADE fileHead;
……
/* open file */
status = ZwCreateFile(&handle, GENERIC_READ, &oa, &iosb, NULL, 0,
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
FILE_OPEN, 0, NULL, 0);
/* read file header*/
status = ZwReadFile(handle, ioevent, NULL, NULL, &iosb, (PVOID)&fileHead,
sizeof(XXXX_FILE_HEADE), &offset, NULL);
/* check whether file is interesting to us */
if (status == STATUS_SUCCESS && iosb.Information == sizeof(……)) {
/* it’s my taste, haha */
}
/* close file, not interested in it any more */
if (handle){
ZwClose(handle);
}
return status;
}
过程比较简单,XXXProcessDirents()会循环调用XXXProcessDirent(),直至列表中所有项全检查完毕。
下面再来看windbg分析吧:
1: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
IRQL_NOT_LESS_OR_EQUAL (a)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high. This is usually
caused by drivers using improper addresses.
If a kernel debugger is available get the stack backtrace.
Arguments:
Arg1: 0abc9867, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000001, bitfield :
bit 0 : value 0 = read operation, 1 = write operation
bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)
Arg4: 806e7a2a, address which referenced memory
Debugging Details:
------------------
WRITE_ADDRESS: 0abc9867
CURRENT_IRQL: 2
FAULTING_IP:
hal!KeAcquireInStackQueuedSpinLock+3a
806e7a2a 8902 mov dword ptr [edx],eax
DEFAULT_BUCKET_ID: DRIVER_FAULT
BUGCHECK_STR: 0xA
PROCESS_NAME: System
TRAP_FRAME: b9019bbc -- (.trap 0xffffffffb9019bbc)
ErrCode = 00000002
eax=b9019c40 ebx=00000000 ecx=c0000211 edx=0abc9867 esi=c0000128 edi=8842d268
eip=806e7a2a esp=b9019c30 ebp=b9019c68 iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010286
hal!KeAcquireInStackQueuedSpinLock+0x3a:
806e7a2a 8902 mov dword ptr [edx],eax ds:0023:0abc9867=????????
Resetting default scope
LAST_CONTROL_TRANSFER: from 806e7a2a to 80544768
STACK_TEXT:
b9019bbc 806e7a2a badb0d00 0abc9867 804f4e77 nt!KiTrap0E+0x238
b9019c68 806e7ef2 00000000 00000000 b9019c80 hal!KeAcquireInStackQueuedSpinLock+0x3a
b9019c68 b9019d24 00000000 00000000 b9019c80 hal!HalpApcInterrupt+0xc6
WARNING: Frame IP not in any known module. Following frames may be wrong.
b9019cf0 80535873 00000000 8896fb20 00000000 0xb9019d24
b9019d10 b79d87ff ba668a30 8859b7e8 00000440 nt!ExReleaseResourceLite+0x8d
b9019d2c b79d8a5c 8a3ff2f0 00000003 ba6685f0 XXXXX!XXXProcessDirents+0xef
b9019d88 b79e163a e2f6b170 00000001 00000001 XXXXX!XXXKernelQueryDirectory+0x20c
b9019ddc 8054616e b79e1530 88a8ae00 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16
问题出在系统函数ExReleaseResourceLite()及KeAcquireInStackQueuedSpinLock()上,且程序要写的地址为0abc9867 ,明显不对,所以此处可做栈损坏推断。
第一嫌疑要考虑的是,XXXProcessDirents()中有锁保护的部分,此部分是果真是最容易造成栈损坏buffer复制操作。但经过仔细检查及测试,便排除了此部分出错的可能。
在排除第一嫌疑后,就没有明显目标了。只好再接着看windbg log:
貌似KeAcquireInStackQueuedSpinLock()要写的地址是LockHandle的LockQueue->Next,而LockHandle一般都在从当前堆栈分配的,由此可肯定之前对于栈损坏的推断。可问题是,是谁导致的栈损坏。
Stack中有hal!HalpApcInterrupt()调用记录,它是处理APC的软中断。hal!HalpApcInterrupt()会一般会调用nt!KiDeliverApc()来处理线程的APC队列。但当ExReleaseResourceLite()调用的时候,线程还处于临界区内(Critical Section),此时User mode APC及Kernel mode normal APC都会被禁止的,但Kernel mode special APC不会。
Kernel Special APC最常见的情况便是由IoCompleteRequest()添加的:在APC Level中调用IopCompleteRequest()以处理Irp的Stage 2的清理工作。
至此,问题终于有些眉目了。分析代码中唯一有可能导致APC添加的地方就在函数XXXXProcessDirent()中的ZwReadFile()调用,而且fileHead正是于堆栈中分配的。
想到此处,此bug的根据原因便付出水面:
XXXXProcessDirent()没有处理ZwReadFile()返回STATUS_PENDING的情况,此情形下,XXXXProcessDirent()退出并继续执行,而之前的ZwReadFile()的IRP完成操作也在同时进行(还没有完成),并且此完成操作所要写的fileHead地址,正是早已被回收并加以重用的当前栈。
搞清楚之后,便在调用ZwReadFile()后,特别针对STATUS_PENING的情况来调用ZwWaitForSingleObject()以确保读操作全部完成后,再进行下一步操作。
到此,问题解决!
一个蓝屏的问题,竟然如此之绕,不禁让我想起刘震云的《一句顶一万句》,只是这能顶一万句的一句到底是哪句呢?
<下一步打算写写APC相关的东西,操作系统将APC隐藏得太深,总让人捉摸不定!>
thxx
thxx
thank you
При потере сознания, судорогах, нарушениях дыхания и других опасных проявлениях человеку требуется срочная помощь. Нарколог после осмотра может рекомендовать клинику, если лечение дома не обеспечивает необходимого контроля. Решение принимается исходя из состояния пациента, а не только из его желания остаться дома.
Получить больше информации – наркологический вывод из запоя в Воронеже
thxx
Мы собираем терапию из проверенных модулей: гидратация, коррекция электролитов, гастропротекция, антиоксидантная поддержка, мягкая анксиолитика по показаниям, поведенческие интервенции (свет, тишина, дыхание 4–6, стимул-контроль, вечерние ритуалы). Объём и темп зависят от ведущего симптома и времени суток: при кардиореактивном вечере больше внимания уделяется среде, при тошноте — гастропротекции и «тёплому питанию», при поверхностном сне — цифровой гигиене и световым сценариям. Ниже приведена ориентировочная матрица выбора; финальное решение — за лечащим врачом с учётом противопоказаний и лекарственных взаимодействий.
Подробнее можно узнать тут – платная наркологическая клиника петрозаводск
thank you
Если при телефонном триаже выявляются «красные флаги» (дыхание, ритм, сознание), маршрут настраивается сразу под стационар: те же цели, тот же ответственный куратор, только непрерывный мониторинг витальных и ночной пост. А когда риски невысоки, мы начинаем дома или амбулаторно и удерживаем темп контрольными включениями — это чаще всего даёт спокойную первую ночь и легче переносимый второй день.
Изучить вопрос глубже – https://vyvod-iz-zapoya-stavropol15.ru/stavropol-lechenie-alkogolizma
thx
Домашний визит особенно уместен при затянувшемся употреблении, когда нарастают тревожные вегетативные симптомы (тремор, потливость, сердцебиение), появляются проблемы со сном и «качели» давления, но при этом сохранён контакт, нет выраженной дыхательной недостаточности и глубокой дезориентации. Преимущества очевидны: экономия времени (нет дороги и ожидания), психологический комфорт, меньше сенсорных триггеров (яркий свет, шум), возможность сразу настроить режим первой «тихой ночи». Технологически выездная бригада оснащена как приёмный кабинет: инфузомат для точной скорости капания, пульсоксиметр, глюкометр, кассеты Na?/K?, портативный кардиомонитор с возможностью регистрации ЭКГ, набор проверенных средств для коррекции тошноты и защиты слизистой. Если во время триажа выявляются «красные флаги» — риск судорог, падение сатурации, признаки делирия, нестабильная гемодинамика, — мы организуем перевод в стационар «КубаньМедЦентра» без задержек и с непрерывностью терапии.
Подробнее можно узнать тут – http://narcolog-na-dom-krasnodar14.ru
Искал термостойкий провод на нагреватель. Нашёл силикон — kabel-termostojkij-5499.ru. Держат жилы от мелких до крупных, можно взять с отгрузкой. Сверяйте марку, не ставьте обычный ПВХ на высокие температуры.
Петрозаводск задаёт свои параметры среды: озёрный ветер, световые перепады, «звонкие» подъезды старого фонда. В «РеМед Карелия» мы проектируем маршрут так, чтобы городской фон работал на пациента. Короткая регистрация без «толстых анкет», приглушённый тёплый свет в приёмной, отсутствие громких объявлений, отдельный вход без вывесок и немаркированный транспорт — всё это снижает сенсорную нагрузку и уменьшает вечернюю кардиореактивность. Семья получает «окна связи» в фиксированное время, чтобы эмоциональные звонки не разрушали «ночную кривую» сна. Для пациентов, стартующих на дому, мы привозим переносные решения — лампу тёплого спектра, ширмы, шумопоглощающие аксессуары, — чтобы не усиливать тревогу и не «подливать» раздражителей в момент инфузии.
Узнать больше – наркологическая клиника вывод из запоя
Процесс терапии включает несколько последовательных шагов:
Исследовать вопрос подробнее – http://narcologicheskaya-klinika-v-chelyabinske16.ru
Для назначения капельницы врачу необходимо определить клиническую задачу. Это может быть восполнение жидкости, введение назначенного препарата, поддержка организма после интоксикации или проведение курса по рекомендации профильного доктора. Оптимальное сочетание компонентов зависит от диагноза, возраста, анализов и общего самочувствия.
Изучить вопрос подробнее – https://nadomu1.kapelnica-ot-zapoya-v-moskve14-1.ru/
casino https://searchrank.pro/domain/lucky7uk.net
Нарколог на дом в Воронеже позволяет пациенту получить профессиональное лечение без самостоятельной поездки в клинику. Вызов врача востребован при запое, выраженной алкогольной интоксикации, ломке, ухудшении самочувствия и других проявлениях зависимости. Нарколог приезжает домой, проводит медицинскую консультацию, оценивает пациента и определяет дальнейшее лечение. Если состояние допускает помощь на дому, основные процедуры выполняются дома. Когда пациенту требуется более интенсивная терапия, врач рекомендует лечение в клинике.
Получить больше информации – https://a.narcolog-na-dom-voronezh0.ru/
Каждый из этапов направлен на обеспечение максимальной безопасности и эффективности лечения. Индивидуальный подход, основанный на тщательной диагностике, позволяет значительно снизить риск осложнений и обеспечить комфортное протекание терапии.
Подробнее можно узнать тут – https://snyatie-lomki-ekb8.ru/snyatie-lomki-narkolog-v-ekb/
После диагностики нарколог приступает к основному этапу — инфузионной детоксикации. Препараты подбираются индивидуально, с учётом тяжести интоксикации, анамнеза и сопутствующих заболеваний. Основу составляют водно-солевые растворы, глюкоза, витаминные комплексы, седативные препараты, гепатопротекторы и нейропротекторы. Инфузии выполняются капельно, медленно, в течение нескольких часов, с постоянным мониторингом состояния пациента. При необходимости используется оксигенотерапия, противорвотные, антиаритмические и противосудорожные препараты. Все растворы стерильны, а расходные материалы одноразовые и соответствуют стандартам качества.
Разобраться лучше – оказание наркологической помощи новосибирск
Если алкоголизм существует несколько лет, организм может реагировать на алкоголь и препараты иначе, чем в начале заболевания. Наркологическая помощь необходима и тогда, когда пациент уже проходил лечение ранее. Новая консультация позволяет выбрать актуальный метод и определить, нужна ли капельница или другое лечение.
Ознакомиться с деталями – вывод из запоя в стационаре
Ломка – это острый синдром отмены, возникающий при резком прекращении или снижении дозы алкоголя или других психоактивных веществ у хронически зависимых пациентов. Это состояние характеризуется выраженной физической и психической дискомфортностью, которая может сопровождаться сильными болевыми ощущениями, тревожностью, дрожью, потливостью, галлюцинациями и нарушениями сна. В критический момент ломка может привести к серьезным осложнениям, поэтому экстренная помощь нарколога имеет первостепенное значение для стабилизации состояния пациента и быстрого снятия симптомов.
Детальнее – https://snyatie-lomki-ekb8.ru/
После прибытия на место врач проводит тщательное обследование пациента. Измеряются основные физиологические параметры — артериальное давление, частота пульса, сатурация кислорода, температура тела. Проводится экспресс-анализ крови на сахар и кислотно-щелочной баланс. Также врач проводит оценку неврологического и психического статуса пациента, проверяет уровень сознания по шкале Глазго, выявляет признаки возможных осложнений: отёка мозга, энцефалопатии, алкогольного делирия. При необходимости принимается решение о дополнительной поддержке (например, вызов реанимационной бригады или немедленный перевод в стационар).
Исследовать вопрос подробнее – наркологическая помощь новосибирск
thank you
thank you
thxx
Выезд на дому часто выбирают пожилые пациенты, люди после тяжелого заболевания, лица с ограниченной мобильностью, а также клиенты, которым трудно покидать квартиру на несколько часов. Женщинам может быть удобнее получить отдельные медицинские услуги дома в спокойной обстановке; при этом схемы для женского организма подбираются по тем же принципам безопасности, что и для других групп. Возраст сам по себе не является показанием: врач учитывает состояние здоровья, хронические диагнозы и результаты анализа.
Дополнительная информация – kapelnica-ot-zapoya-na-domu
thank you
Заявку можно оставить в любое время, специалист быстро сориентирует по дальнейшим действиям.
Подробнее – капельница от запоя вызов
casino https://perfectmarketingsolution.com/website-analysis/domain/luckydreams-pokies.net
Схема помощи зависит от состояния, стажа употребления, противопоказаний и дальнейших целей лечения.
Получить больше информации – nadomu1.kapelnica-ot-zapoya-v-moskve14-1.ru/
В статье по вопросам здоровья мы рассматриваем актуальные проблемы, с которыми сталкивается общество. Обсуждаются заболевания, факторы риска и важные аспекты профилактики. Читатели получат полезные советы о том, как сохранить здоровье и улучшить качество жизни.
Как достичь результата? – выезд нарколога на дом москва
Для назначения капельницы врачу необходимо определить клиническую задачу. Это может быть восполнение жидкости, введение назначенного препарата, поддержка организма после интоксикации или проведение курса по рекомендации профильного доктора. Оптимальное сочетание компонентов зависит от диагноза, возраста, анализов и общего самочувствия.
Дополнительная информация – https://nadomu1.kapelnica-ot-zapoya-v-moskve14-1.ru/
Все шаги фиксируются в карте наблюдения. Если динамика «плоская», меняется один параметр (скорость/объём/последовательность), и через оговорённое окно проводится повторная оценка. Это снижает риск побочных реакций и сохраняет дневную ясность.
Выяснить больше – наркологическая клиника клиника помощь калининград
Стационар также выбирают, когда родственники не могут обеспечить спокойную обстановку дома. Иногда зависимый ведет себя агрессивно, продолжает искать алкоголь или отказывается принимать назначенные препараты. В этом случае лечение в клинике позволяет полностью исключить доступ к спиртному и проводить процедуры в контролируемых условиях. Скорая наркологическая помощь при необходимости организует транспортировку пациента.
Подробнее – https://2.vyvod-iz-zapoya-moskva1-13.ru
Вызов врача на дому начинается с обращения в центр. Москва разделена на районы с разной транспортной доступностью, поэтому оператор заранее уточняет место выезда и согласует ориентировочное время приезда. Позвоните по номеру, указанному в разделе «Контакты», или оставьте заявку на сайте. Администратор перезвонит, ответит на вопросы, расскажет, какие документы подготовить, и уточнит, требуется ли срочный выезд.
Дополнительная информация – kapelnica-ot-zapoya-na-domu
Для назначения капельницы врачу необходимо определить клиническую задачу. Это может быть восполнение жидкости, введение назначенного препарата, поддержка организма после интоксикации или проведение курса по рекомендации профильного доктора. Оптимальное сочетание компонентов зависит от диагноза, возраста, анализов и общего самочувствия.
Изучить вопрос подробнее – вывод из запоя капельница на дому
casino https://a.pr-cy.ru/luckydreams-pokies.net/
Amma mobil versiyanı sınadıqdan sonra daha rahat olduğunu gördüm. Heç bir əlavə proqram yükləməyə ehtiyac yoxdur. 1xbet mobil android — brauzerdən daxil olmaq kifayətdir. Bütün funksiyalar tam şəkildə işləyir: idman mərcləri, kazino, canlı yayımlar, ödənişlər. Mən artıq bir neçə aydır ki, yalnız mobil versiyadan istifadə edirəm. 1xbet android 1xbet android Açın, daxil olun, mərc edin üçün Bakı. 1xbet mobil versiyası ilə mərclərinizi telefonunuzdan etmək istəyirsinizsə — linkə keçin. 1xbet mobil — hər zaman, hər yerdə mərc et!
Вся динамика фиксируется в единой карте наблюдения. При переводе в амбулаторную точку мы не «сбрасываем» историю: решения продолжаются с учётом уже сделанного и реакции пациента на вмешательства.
Подробнее можно узнать тут – вывод из запоя в стационаре
Если на телефонном этапе выявляются «красные флаги» — спутанность, выраженная одышка, «скачущий» ритм, неукротимая рвота, — мы рекомендуем короткое окно стационарного наблюдения. При низком риске целесообразно начать дома: привычная среда снижает сенсорную нагрузку, а телемедицинские включения вечером по 15–20 минут помогают пройти «трудный час» без поездок.
Выяснить больше – платная наркологическая клиника калининград
Схема помощи зависит от состояния, стажа употребления, противопоказаний и дальнейших целей лечения.
Изучить вопрос подробнее – https://nadomu1.kapelnica-ot-zapoya-v-moskve14-1.ru/
Сочетание медицинских и психотерапевтических мер создаёт устойчивую систему поддержки. Пациенты получают возможность постепенно восстановить утраченное здоровье и психологическую стабильность.
Детальнее – https://narkologicheskaya-klinika-v-kazani16.ru/
Все шаги фиксируются в карте наблюдения. Если динамика «плоская», меняется один параметр (скорость/объём/последовательность), и через оговорённое окно проводится повторная оценка. Это снижает риск побочных реакций и сохраняет дневную ясность.
Подробнее можно узнать тут – https://narkologicheskaya-klinika-v-kaliningrade15.ru/vyvod-iz-zapoya-kaliningrad-staczionar/
Вызов нарколога необходим не только при крайне тяжелом состоянии. Поводом для обращения может стать запой, сильное похмелье, ломка, бессонница, тревога, тремор, ухудшение физического самочувствия или повторный срыв. Нарколог оценивает пациента дома и определяет, какое лечение требуется. Если домашний формат подходит, терапия начинается на месте; при сложной ситуации пациент направляется в клинику.
Подробнее – вызвать нарколога на дом Воронеж
Вызов врача особенно актуален, если близкий находится в запое несколько суток, плохо спит, практически не принимает питание, испытывает сильную слабость или не может самостоятельно справиться с похмельным синдромом. Нарколог приезжает на указанный адрес, проводит диагностику и определяет безопасный способ лечения. Срочный выезд позволяет начать помощь прямо сейчас, не заставляя зависимого самостоятельно приезжать в центр. В большинстве стандартных случаев врач может провести вывод на дому, однако решение всегда зависит от клинической картины.
Изучить вопрос подробнее – vyvod-iz-zapoya-na-domu-moskva-kruglosutochno
Для назначения капельницы врачу необходимо определить клиническую задачу. Это может быть восполнение жидкости, введение назначенного препарата, поддержка организма после интоксикации или проведение курса по рекомендации профильного доктора. Оптимальное сочетание компонентов зависит от диагноза, возраста, анализов и общего самочувствия.
Изучить вопрос подробнее – kapelnica-na-domu-cena
Индивидуальная программа у нас — это модульный конструктор. В одних случаях критичен блок сна, в других — профилактика вечерних «волн» тревоги, в третьих — семейная медиированная встреча. Мы гибко переставляем модули, учитывая сопутствующие заболевания, приём базовых лекарств (антигипертензивные, антиаритмические, сахароснижающие), возраст и расписание пациента. Цель проста: чтобы терапия вписалась в жизнь, а не наоборот.
Подробнее можно узнать тут – http://narkologicheskaya-klinika-ryazan14.ru
Анонимность — важнейшее условие обращения за помощью. В клинике действуют не декларации, а конкретные технологические и организационные меры, которые защищают пациента и его близких от стигмы и лишнего обсуждения.
Узнать больше – http://narkologicheskaya-klinika-rostov-na-donu14.ru/narkologiya-rostov-kruglosutochno/https://narkologicheskaya-klinika-rostov-na-donu14.ru
Такая карта делает лечение обозримым и дисциплинирует решения: пациент видит цель и порог перехода, семья понимает, зачем нужно соблюдать «тихие» часы, команда сохраняет управляемость и не «крутит ручки» ночью.
Углубиться в тему – http://narkologicheskaya-klinika-v-petrozavodske15.ru/
thxx
При выводе из запоя в Ростове-на-Дону используются разные терапевтические подходы. Основной задачей является устранение токсинов и восстановление работы систем организма. Врач подбирает терапию индивидуально в зависимости от состояния пациента и длительности запоя.
Ознакомиться с деталями – вывод из запоя на дому круглосуточно ростов-на-дону