как отладить выпуск

#c #visual-studio-debugging

Вопрос:

У меня есть отладка .сборка dll, использующая libcurl для отправки HTTP-запросов, работает нормально.

С выпуском, программе, которая использует my .dll, это не нравится, производитель программ рекомендовал сделать libcurl.dll как загруженный с задержкой и вызывающий LoadLibrary

поэтому я сделал это LoadLibrary(TEXT("C:\Users\user\Documents\VirtualDJ\Plugins64\SoundEffect\libcurl.dll")); и указал компоновщик>ввод>>задержка загруженных библиотек DLL в libcurl.dll [буквально это]

Это снова делает плагин совместимым, но я больше не получаю сообщений. Я не знаю, как поступить дальше.

Правильный ли синтаксис моей библиотеки загрузки? Мне сказали отладить выпуск, и я следил за всеми этими изменениями свойств https://docs.microsoft.com/en-us/cpp/build/how-to-debug-a-release-build?view=msvc-160 но я не понимаю, как бы вы запустили выпуск.

Я довольно новичок в этом, так что чем проще это объясняется, тем лучше. C Visual Studio 19

Комментарии:

1. Убедитесь, что все скомпилированные библиотеки dll скомпилированы с параметрами, совместимыми с abi (например, итераторами отладки).

Ответ №1:

Согласно https://docs.microsoft.com/en-us/cpp/build/reference/linker-support-for-delay-loaded-dlls?view=msvc-160 задержка загрузки DLL имеет нюансы, которые вам следует учитывать. Я не использовал это, но я использую LoadLibrary/GetProcAdress/FreeLibrary всегда без каких-либо проблем, поэтому я предлагаю вам попробовать этот способ. Вы можете попробовать отладить выпуск в WinDbg. Просто нужно задать пути к исходному коду и файлам PDB. Иногда WinDbg может быть более полезным, чем Visual Studio. Более подробная информация о WinDbg https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools