Я новичок в windbg, и память анализируется в окнах. Я пытаюсь проанализировать дамп памяти (аварийный сброс), это система x64.Могу ли я использовать результат анализа windbg, если у меня есть некоторые предупреждения о символах?
После загрузки всех символов (мой и Microsoft) набирает !analyze -v
Это часть продукции:
......
FAULTING_SOURCE_CODE: <some code here>
SYMBOL_STACK_INDEX: 6
SYMBOL_NAME: rtplogic!CSRTPStack::Finalize+19d
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: RTPLogic
IMAGE_NAME: RTPLogic.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 58542837
STACK_COMMAND: ~544s; .ecxr ; kb
FAILURE_BUCKET_ID: WRONG_SYMBOLS_c0000374_RTPLogic.dll!CSRTPStack::Finalize
BUCKET_ID: X64_APPLICATION_FAULT_WRONG_SYMBOLS_rtplogic!CSRTPStack::Finalize+19d
......
WRONG_SYMBOLS
Это беспокоит меня.
Могу ли я быть уверенным в коде в FAULTING_SOURCE_CODE
Это код, связанный с сбоем?
Это звучит интересно. Насколько я понимаю, 'gflags' - это инструмент, который изменяет некоторые параметры процесса, которые уже запущены. Но в моем случае дамп памяти не с моего ПК, и у меня нет прямого доступа к удаленному ПК с проблемой. Возможно ли включить эту функцию по-другому? LFor Например, как флаг отладки во время компиляции? –
, вы должны активировать эту настройку на ПК, где приложение выходит из строя. – magicandre1981
@StepanLoginov: помните, что полная куча страниц выделяет 8 КБ памяти (2 страницы, 1 доступную страницу для данных и 1 недоступную страницу для запуска отладчика) для каждого «int» в куче. Таким образом, этот подход обнаруживает утечки> 4 кБ. Я нахожу, что это вряд ли работает для 32-битных программ, потому что все они страдают от нехватки памяти, прежде чем произойдет реальная проблема. Это может сработать для вашей 64-битной программы. –