Хотя DbgHelp.dll поставляется со всеми версиями Windows, вызывающие абоненты должны рассмотреть возможность использования одной из последних версий этой библиотеки DLL, как показано в пакете средств отладки для Windows. Дополнительные сведения о распределении DbgHelp см. в разделе «Версии DbgHelp».
При использовании DbgHelp лучше всего установить копию библиотеки из пакета средств отладки для Windows в каталоге приложения логически рядом с программным обеспечением, вызывающим его. Если также требуется сервер символов и исходный сервер, то оба SymSrv.dll и SrcSrv.dll должны быть установлены в том же каталоге, что и DbgHelp.dll, так как DbgHelp будет вызывать эти библиотеки DLL только в том случае, если они совместно используют один и тот же каталог с ним. (Обратите внимание, что DbgHelp не будет вызывать эти два DLL из стандартного пути поиска.) Это помогает предотвратить использование несовпадения библиотек DLL; аналогичным образом он также повышает общую безопасность.
Which dbghelp.dll do I use for debugging?
Следующий код извлекается из источника DbgHelp. Здесь показано, как DbgHelp загружает только версии SymSrv.dll и SrcSrv.dll из того же каталога, в котором находится DbgHelp.dll.
HINSTANCE ghinst; // For calculating the size of arrays for safe string functions. #ifndef cch #define ccht(Array, EltType) (sizeof(Array) / sizeof(EltType)) #define cch(Array) ccht(Array, (Array)[0]) #endif // // LoadLibrary() a DLL, using the same directory as dbghelp.dll. // HMODULE LoadDLL( __in PCWSTR filename ) < WCHAR drive[10] = L»»; WCHAR dir[MAX_PATH + 1] = L»»; WCHAR file[MAX_PATH + 1] = L»»; WCHAR ext[MAX_PATH + 1] = L»»; WCHAR path[MAX_PATH + 1] = L»»; HMODULE hm; // Chop up ‘filename’ into its elements. _wsplitpath_s(filename, drive, cch(drive), dir, cch(dir), file, cch(file), ext, cch(ext)); // If ‘filename’ contains no path information, then get the path to our module and // use it to create a fully qualified path to the module we are loading. Then load it. if (!*drive !*dir) < // ghinst is the HINSTANCE of this module, initialized in DllMain or WinMain if (GetModuleFileNameW(ghinst, path, MAX_PATH)) < _wsplitpath_s(path, drive, cch(drive), dir, cch(dir), NULL, 0, NULL, 0); if (*drive || *dir) < swprintf_s(path, cch(path), L»%s%s%s%s», drive, dir, file, ext); hm = LoadLibrary(path); if (hm) return hm; >> > else < // If we wanted to, we could have LoadDLL also support directories being specified // in ‘filename’. We could pass the path here. The result is if no path is specified, // the module path is used as above, otherwise the path in ‘filename’ is specified. // But the standard search logic of LoadLibrary is still avoided. /* hm = LoadLibrary(path); if (hm) return hm; */ >return 0; >
После загрузки этих двух библиотек DLL DbgHelp вызывает GetProcAddress для получения необходимых функций от них.
Как правило, код, вызывающий DbgHelp.dll, гарантирует, что правильная версия загружена путем установки DbgHelp.dll в том же каталоге, что и приложение, которое инициировало текущий процесс. Если вызывающий код находится в библиотеке DLL и не имеет доступа к расположению начального процесса, то DbgHelp.dll необходимо установить вместе с вызываемой библиотекой DLL и кодом, аналогичным LoadDLL DbgHelp.
New Fix dbghelp.dll Error Guide
Источник: learn.microsoft.com
dbghelp.dll
Часто пользователи Window задаются вопросом «Где скачать dbghelp.dll для Windows 7/8/10?». Обычно этот вопрос возникает по причине возникновения ошибки, связанной с системным файлом dbghelp.dll. Данный файл – dll-библиотека, которая является компонентом операционной системы и выполняет определенные функции для корректной работы программ и приложений. Ошибка может возникнуть, когда программа или приложение повредили данную библиотеку.
Для исправления ошибки, рекомендуется два способа:
- Скачать dbghelp.dll отдельно от прочих файлов
- Переустановить программу, которая сообщила об ошибке
Если скачать данный файл х32-64 бит (в соответствии с разрядностью системы), то необходимо поместить данный файл в системную папку. Название данной папки зависит от разрядности операционной системы (System32 или SysWOW64). Когда библиотека помещена в нужную папку, её необходимо зарегистрировать, и выполнить перезагрузку компьютера. Это исправит возникшую проблему.
Есть вариант с переустановкой программы, которая сообщила о возникшей ошибке. Данная программа использует dbghelp.dll в своей работе, а следовательно он содержится в файловой системе программы. В процессе переустановки файл автоматически установится с правильной конфигурацией на компьютер.
Источник: dllmix.ru
dbghelp.dll
Проблемы с файлом dbghelp.dll возможны при запуске системных приложений, сторонних программ, утилит, игровых приложений и эмуляторов. Обычно ошибка dbghelp.dll при установке или запуске программы блокирует процесс и завершает его в аварийном порядке. Пользователь при этом может увидеть диалоговое окно о том, что отсутствует файл с указанным названием, что он повреждён, что к нему нет доступа и так далее.
Полное сканирование системы, проверка всех служебных файлов — довольно долгий процесс, и проводить его не всегда есть возможность. Чтобы не тратить время и силы зря, важно знать, что делать в подобной ситуации. Как и в случае со многими служебными компонентами Microsoft Developer Network (MSDN), проблемы с этой динамической библиотекой решаются по стандартному алгоритму вне зависимости от версии операционной системы.
Вот как исправить возникшую ситуацию:
- Скачать dbghelp.dll одиночным файлом на компьютер.
- Скопировать скачанный файл в системную папку Windows.
- При необходимости подтвердить перезапись файла.
Следует помнить, что адрес системной папки может различаться в зависимости от того, какая у вас версия операционной системы «Виндовс» и какую разрядность она имеет — 32- или 64-битную. Если всё сделано правильно, то проблемы с установкой, запуском и работой приложений, которые возникали из-за этого файла, должны исчезнуть. Если ошибки по-прежнему возникают, но уже из-за других файлов — необходимо решить проблемы с ними.
Как установить DLL файл вы можете прочитать на странице, в которой максимально подробно описан данный процесс.
Источник: dlltop.ru