По сути, приложение зависло в образе VMWare (Win764), поэтому я создал дамп сбоя приложения с помощью диспетчера задач. Это создало аварийный дамп просто отлично. Затем я открыл аварийный дамп с помощью WinDbg, связываясь с символами, который работал отлично, так как теперь я мог видеть все потоки, процессы и стек вызовов. Когда я нажимаю на элемент в стеке вызовов, он открывает окно в WinDbg, показывая фактическую строку кода в исходном файле, в которой он находился для этой части стека вызовов.
Теперь мой вопрос: насколько точна / достоверна информация, отображаемая в WinDbg при отладке таким способом? Похоже, что иногда состояние, в котором показано приложение, вообще не имеет никакого смысла … как будто оно показывает невозможные сценарии или сценарий, которого никогда не было на 100%. Например, я видел, что это показывает, что операция началась и завершилась, но когда я проверяю файлы журнала, которые были написаны правильно, показывая, что операция никогда не происходила. Это регистрирует, что это никогда не случалось, и это успешно двигалось дальше после. Кроме того, конечный результат операции, если бы она была завершена, абсолютно не произошел. Вполне очевидно, что операция действительно началась и произошла.
Возможно ли когда-нибудь, что аварийные дампы просто неверны или каким-либо образом показывают старую информацию?
Любой дамп, который я видел до сих пор, был правильным в том смысле, что он точно показывал процесс во время взятия дампа. Но есть некоторые вещи, которые нужно помнить:
Других решений пока нет …