Сейчас на форуме: jinoweb, bartolomeo, rmn (+4 невидимых) |
eXeL@B —› Программирование —› Exception E06D7363 |
Посл.ответ | Сообщение |
|
Создано: 29 мая 2014 11:09 · Поправил: Rainbow · Личное сообщение · #1 Работаю над написанием плагина для NPP++. С некоторого времени и непонятно с какого перепуга NPP начал втихую отказываться работать и сворачивать монатки со словами E06D7363! Я под отладчиком исколесил кусок кода в котором все это безобразие творится, но вопросов только добавилось, так как места в разных случаях-разные (я уже думал я перегрелся). Короче, после длительного секса с мозгом я выяснил, что этот exept происходил в недрах LocalAlloc, которая используется в плагине очень часто. Кто-нибудь знает, что это за барабашка, откуда она взялась и как от нее избавиться ? |
|
Создано: 29 мая 2014 11:17 · Личное сообщение · #2 |
|
Создано: 29 мая 2014 11:22 · Личное сообщение · #3 reversecode пишет: Rainbow пишет: что этот exept происходил в недрах LocalAlloc сказка Интересно, откуда такая уверенность. reversecode пишет: Rainbow пишет: словами E06D7363 гугл говорит это обычный с++ exception который ты не ловиш через catch ну итд Какой C++ exception, я пишу на MASM32. Единственное, что я могу предположить - это то что kernel32/ntdll написаны на сях и поэтому C++ exception... Других вариантов я не вижу |
|
Создано: 29 мая 2014 11:26 · Личное сообщение · #4 Rainbow пишет: Интересно, откуда такая уверенность. это гугл говорит, других данных у читателей нет Rainbow пишет: Какой C++ exception, я пишу на MASM32. Единственное, что я могу предположить - это то что kernel32/ntdll написаны на сях и поэтому C++ exception... Других вариантов я не вижу тогда только бек трейс что бы понять видеть где произошла точка бифуркации иначе гадание на кофейной гуще Rainbow пишет: Работаю над написанием плагина для NPP++. но пишете на masm |
|
Создано: 29 мая 2014 11:37 · Личное сообщение · #5 reversecode пишет: Rainbow пишет: Работаю над написанием плагина для NPP++. но пишете на masm Скажу больше - плагин на MASM и для MASM ! Я вообще фанат асма, в частности ЯП masm. Сами знаете, что такое асм и блокнот и какой это процесс. Короче назначение - в помощь (говно)кодеру-масмеру для помощи в разработке софта на MASM. |
|
Создано: 29 мая 2014 11:45 · Личное сообщение · #6 Очевидно нужно копаться в коде самого блокнота. Ведь раньше ваш плагин не вызывал подобную ошибку, стало быть предыдущие версии этим не болеют. нп++ как раз на сях написан и как сказал выше reversecode, обычный с++ exception который ты не ловиш через catch. Только в данном случае не ты, а разработчик блокнота. Самый простой вариант - прогнать плагин на старой версии и убедиться конкретно |
|
Создано: 29 мая 2014 11:52 · Личное сообщение · #7 TryAga1n пишет: Очевидно нужно копаться в коде самого блокнота. Мне кажется врятли. Плагин получает управление, работает обрабатывает n-ное количество модулей исходного проекта и падает и в падениях нет постоянства. Причем старые версии npp здесь ни при чем, потому что возникла ошибка при тестировании на одной и той же версии пада. |
|
Создано: 29 мая 2014 12:46 · Поправил: ajax · Личное сообщение · #8 |
|
Создано: 29 мая 2014 13:48 · Личное сообщение · #9 |
|
Создано: 29 мая 2014 13:56 · Поправил: Rainbow · Личное сообщение · #10 Хм. Непонятно. В очередной из тестов функция LocalAlloc с аргументом в 8000h байт не уронила процесс, а все-таки вернула код ошибки - NOT_ENOUGHT_MEMORY. После нескольких таких вызовов подряд процесс все-таки упал с этим экзепшном. Процесс пада трескает 17 мб озу. КАКОГО ХРЕНА ПАМЯТИ НЕ ДАЮТ ?????? ))) Добавлено спустя 14 минут Как я понял, проанализировав нутро LocalAlloc, функция использует кучу и сводится к ZwAllocateVirtualMemory. Не может ли облом в высвобождении быть следствием HEAP OVERFLOW/CORRUPTION ?? Добавлено спустя 3 часа 6 минут Вообщем проблема решена и заключалась в следующем. В одном месте шло переполнение выделенной кучи, видимо перезаписывались нужные указатели, и как следствие нарушалась работа MemoryManager'a. P.S. Ебучая и неведомая ХНЯ отняла у меня сутки ( |
eXeL@B —› Программирование —› Exception E06D7363 |
Эта тема закрыта. Ответы больше не принимаются. |