использование функции .dll для создания мини-дампа, когда приложение не создано Visual Studio - PullRequest
0 голосов
/ 09 декабря 2010

У меня есть файл .dll, созданный с помощью Visual Studio 2005 (неуправляемый C ++).В различных функциях DLL я могу обнаруживать ошибки и вызывать другую функцию в DLL для создания мини-дампа (используя dbghelp.dll).

Это прекрасно работает, когда приложение, использующее DLL, также является VS2005-произведенным.программа.Однако, когда я использую National Instrument Measurement Studio / CVI для создания приложения (в простом C, не то чтобы это должно иметь значение), оно не получает файл .pdb (сюрприз!).В результате, когда я открываю сгенерированный файл .dmp с VS2005, он говорит мне, что приложение не было создано с отладкой (но это было!), И показанный стек бесполезен.

Многие (более 40) другихфункции в этой DLL успешно используются приложением CVI.Казалось бы, это демонстрирует успешный доступ к функциям DLL из приложения без VS.

National Instruments, очевидно, может использовать полный дамп из DrWatson, поэтому это должно быть возможно.

Кто-нибудьзнаете, как получить то, что необходимо для использования файла .dmp?

Подводя итог: Нет .NET, доступ к функциям в порядке, сгенерированные файлы мини-дамп не подходят для Visual Studio.

Спасибоза вашу помощь.

1 Ответ

0 голосов
/ 10 января 2011

Вы должны иметь символы (по крайней мере, dllexports), чтобы иметь возможность анализировать файл дампа. Попробуйте использовать средства отладки для Windows (WinDBG), чтобы открыть файл мини-дамп и посмотреть, что у вас есть. WinDBG гораздо лучше анализирует дампы, чем VisualStudio 2005.

...