Меня смущает, в чем разница между файлами компилятора и компоновщика PDB
соответственно (т.е. в Visual Studio Project Properties > C/C++ > Output Files > Program Database File Name
против Project Properties > Linker > Debugging
) . Я попытался найти ответ в Интернете, и до сих пор я знаю (может быть ошибочным), что файл PDB
компилятором генерируется для файлов obj
, в то время как файл компоновщика PDB
генерируется для двоичного файла (exe или dll) и используется для отладки.
Если это не так, пожалуйста, объясните разницу. В любом случае, что делать, когда я создаю DLL
, где у меня есть возможность выбрать выходной файл PDB
для компилятора и компоновщика, и что делать, когда я создаю файл LIB, где только компилятор генерирует файлы PDB
, так как ссылки не выполняются.
Справочная информация: Библиотеки / dll используются несколькими проектами, которым для отладки нужны файлы PDB
. В случае файла lib
двусмысленность отсутствует, поскольку генерируется только один файл PDB
. Но в случае DLL
, мне нужны оба файла PDB
для правильной отладки или только тот, который сгенерирован компоновщиком?