Re: Анализ minidump'ов
От: x64 Россия  
Дата: 27.11.12 18:51
Оценка: -1
А>Могу ли я как-то локализовать место в котором происходит падение, то есть узнать место в исходниках где драйвер падает? Или это можно сделать только при помощи Debug сборки драйвера?

В случае free-сборки .pdb-файл обычно не создаётся, но можно поступить так: сделать checked-сборку, получишь файл символов, затем делаешь free-сборку, а в случае падения кладёшь рядом файл символов от отладочной сборки и принудительно подгружаешь его в WinDbg, иногда помогает, только оптимизацию лучше отключить для free-сборки, если возможно.
Анализ minidump'ов
От: Аноним  
Дата: 27.11.12 18:16
Оценка:
Такой вопрос — есть собранный драйвер, собран в конфигурации Release, имеются к нему исходники. При некоторых обстоятельствах драйвер выдаёт BSOD (PAGE_FAULT_IN_NONPAGED_AREA), получаю minidump с машины. Могу ли я как-то локализовать место в котором происходит падение, то есть узнать место в исходниках где драйвер падает? Или это можно сделать только при помощи Debug сборки драйвера?
Re: Анализ minidump'ов
От: redp Ниоткуда redplait.blogspot.com
Дата: 27.11.12 18:48
Оценка:
с некоторой долей везения можешь если .pdb генерится для твоей release версии
паранойя не болезнь, а критерий профпригодности
Re[2]: Анализ minidump'ов
От: redp Ниоткуда redplait.blogspot.com
Дата: 27.11.12 19:04
Оценка:
x64>В случае free-сборки .pdb-файл обычно не создаётся
а ?
dir xxx\objfre_wxp_x86\i386\*
...
xxx.sys
xxx.pdb
...

wdk7
ЧЯДНТ ?
pdb не содержит правда ссылок на сорец, но обычно этого и не нужно особо — достаточно знать имя ф-ции, все остальное можно детально посмотреть в ida pro
паранойя не болезнь, а критерий профпригодности
Re[3]: Анализ minidump'ов
От: x64 Россия  
Дата: 27.11.12 19:52
Оценка:
R>ЧЯДНТ ?

Не знаю, может у меня со скриптом что-то не то, но у меня обычно не создаётся...
Re[4]: Анализ minidump'ов
От: pva  
Дата: 27.11.12 20:59
Оценка:
Здравствуйте, x64, Вы писали:

R>>ЧЯДНТ ?

x64>Не знаю, может у меня со скриптом что-то не то, но у меня обычно не создаётся...
Зависит от WDK. В старых правильно отрабатывало и не создавался. В новых приходится makefile.new патчить, чтоб отключить его создание в релиз версии.
Без pdb можно той же идой вычислить где падает.
newbie
Re[5]: Анализ minidump'ов
От: Аноним  
Дата: 03.12.12 12:32
Оценка:
Здравствуйте, pva, Вы писали:

pva>Здравствуйте, x64, Вы писали:


R>>>ЧЯДНТ ?

x64>>Не знаю, может у меня со скриптом что-то не то, но у меня обычно не создаётся...
pva>Зависит от WDK. В старых правильно отрабатывало и не создавался. В новых приходится makefile.new патчить, чтоб отключить его создание в релиз версии.
pva>Без pdb можно той же идой вычислить где падает.

Где ж только взять эту иду для x64 кода?)
Re[5]: Анализ minidump'ов
От: okman Беларусь https://searchinform.ru/
Дата: 03.12.12 13:50
Оценка:
Здравствуйте, pva, Вы писали:

pva>Зависит от WDK. В старых правильно отрабатывало и не создавался.


Разве это правильно ?
Кому мешает горстка pdb-шек где-то далеко на сервере разработчика программы ?
Re[6]: Анализ minidump'ов
От: mssmax  
Дата: 04.12.12 09:42
Оценка:
Здравствуйте, okman, Вы писали:

O>Здравствуйте, pva, Вы писали:


pva>>Зависит от WDK. В старых правильно отрабатывало и не создавался.


O>Разве это правильно ?

O>Кому мешает горстка pdb-шек где-то далеко на сервере разработчика программы ?

Полностью поддерживаю — не иметь pdb, тем более при разработке драйверов, это чисто самоубийство, и прямо скажем непрофессионализм. Как сказал один уважаемый человек — if you don't have a symbol server, you're not doing development.
Re[6]: Анализ minidump'ов
От: pva  
Дата: 04.12.12 10:36
Оценка:
Здравствуйте, okman, Вы писали:

O>Разве это правильно ?

O>Кому мешает горстка pdb-шек где-то далеко на сервере разработчика программы ?
MS согласна с вами и поэтому отключила соответствующие макросы, вроде USE_PDB / TARGETPDB.

The USE_PDB macro is obsolete and must not be used. All binaries built by the Build utility are built with .pdb symbol files.

Так что теперь официальный посыл билдить все с отладочной инфой.
newbie
Re[2]: Анализ minidump'ов
От: vladts  
Дата: 04.12.12 11:29
Оценка:
Здравствуйте, x64, Вы писали:

x64>В случае free-сборки .pdb-файл обычно не создаётся, но можно поступить так: сделать checked-сборку, получишь файл символов, затем делаешь free-сборку, а в случае падения кладёшь рядом файл символов от отладочной сборки и принудительно подгружаешь его в WinDbg, иногда помогает, только оптимизацию лучше отключить для free-сборки, если возможно.


Можно в makefile добавить опцию LINKER_FORCE_NO_DBG_SECTION=1 и тогда при free-сборке .pdb-файл создаётся. Если не ошибаюсь.
Re[5]: Анализ minidump'ов
От: Eugene Radius США  
Дата: 13.12.12 11:11
Оценка:
Здравствуйте, pva, Вы писали:

pva>Зависит от WDK. В старых правильно отрабатывало и не создавался. В новых приходится makefile.new патчить, чтоб отключить его создание в релиз версии.


Собираю драйвера с помощью ddkbuild, намучился с отключением генерации pdb в релизной версии драйверов. В итоге использую опцию /PDBALTPATH для опущения полного пути к символам.
Re[2]: Анализ minidump'ов
От: mike_rs Россия  
Дата: 28.12.12 11:51
Оценка:
Здравствуйте, x64, Вы писали:

А>>Могу ли я как-то локализовать место в котором происходит падение, то есть узнать место в исходниках где драйвер падает? Или это можно сделать только при помощи Debug сборки драйвера?


x64>В случае free-сборки .pdb-файл обычно не создаётся, но можно поступить так: сделать checked-сборку, получишь файл символов, затем делаешь free-сборку, а в случае падения кладёшь рядом файл символов от отладочной сборки и принудительно подгружаешь его в WinDbg, иногда помогает, только оптимизацию лучше отключить для free-сборки, если возможно.


бред какой-то, pdb от чекед для фри сборки будет бесполезен чуть менее чем полностью
Re[6]: Анализ minidump'ов
От: mike_rs Россия  
Дата: 28.12.12 11:52
Оценка:
Здравствуйте, Eugene Radius, Вы писали:

ER>Здравствуйте, pva, Вы писали:


pva>>Зависит от WDK. В старых правильно отрабатывало и не создавался. В новых приходится makefile.new патчить, чтоб отключить его создание в релиз версии.


ER>Собираю драйвера с помощью ddkbuild, намучился с отключением генерации pdb в релизной версии драйверов. В итоге использую опцию /PDBALTPATH для опущения полного пути к символам.


а зачем их отключать ? "купи себе геморрой (c)" ?
Re[7]: Анализ minidump'ов
От: Eugene Radius США  
Дата: 28.12.12 12:11
Оценка:
Здравствуйте, mike_rs, Вы писали:

_>а зачем их отключать ? "купи себе геморрой (c)" ?


а зачем они нужны в релизной сборке? на моём опыте в них необходимости не возникало.
Re[8]: Анализ minidump'ов
От: mssmax  
Дата: 28.12.12 13:30
Оценка:
Здравствуйте, Eugene Radius, Вы писали:

ER>а зачем они нужны в релизной сборке? на моём опыте в них необходимости не возникало.


То есть, у вас все релизы на 100% лишены багов ??? Круто, тоже так хочу. Вот только реалии на самом деле не таковы, и рано или поздно жизнь своим суровым гаечным ключом по голове научит вас завести себе symbol server и хранить там все релизные pdb на случай, так сказать, ядерной войны — лично через это проходил и ни разу с тех пор не пожалел.

MS.
Re[6]: Анализ minidump'ов
От: bazis1 Канада  
Дата: 28.12.12 13:41
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Где ж только взять эту иду для x64 кода?)

купить?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.