Изучение минидампа без наличия всех двоичных файлов из процесса - PullRequest
0 голосов
/ 11 мая 2018

Наша компания предоставляет клиентам наборы DLL, и время от времени возникает необходимость исправить какое-то совершенно редкое неизвестное исключение или сбой, который мы не можем воспроизвести на нашей машине. Теперь я думаю, стоит ли использовать простые трассировки стека или вывести более подробную информацию с помощью MiniDumpWriteDump?

Боюсь, что возможна одна проблема с мини-дампами: я не уверен, предоставляет ли она какую-либо полезную информацию, когда у нас нет всех исполняемых файлов / библиотек DLL, которые были загружены в процессе во время создания дампа. Потому что, очевидно, клиенты вызывают API нашей DLL из своих собственных dll / exe, и они не будут давать нам исполняемые файлы / символы отладки / исходные коды для своих собственных двоичных файлов. Я знаю, что под Linux в аналогичной ситуации с дампами ядра мы не сможем получить какую-либо полезную информацию из дампа ядра (https://sourceware.org/ml/archer/2008-q4/msg00119.html).

Таким образом, моя минимальная цель с мини-дампами - надежно добиться трассировки стека от наших DLL, без наличия исполняемых файлов / DLL, которые вызывают нашу DLL. И было бы здорово достичь состояния локальных и глобальных переменных.

Итак, вопрос в том, будут ли мини-дампы работать на меня, если у меня нет исполняемого файла / dll, который вызвал бы мою dll?

...