Подтвердить что ты не робот

Почему мой PDB для моего проекта VB6 не соответствует сгенерированной DLL?

У меня есть проект VB6 и он позволяет создавать файлы pdb (это показывает, как это сделать). Однако я не могу отлаживать их, и когда я проверяю их с помощью symcheck, я получаю этот вывод:

SYMCHK: MyFile.dll FAILED - MyFile.pdb не найден или не найден

SYMCHK: FAILED files = 1

SYMCHK: PASSED + IGNORED files = 0

Я проверил с подробным результатом, что его обнаружение pdb (даже перенос его в каталог, который его проверяет), но он просто не хочет совпадать.

Что может быть причиной этого и что я могу с этим сделать?

4b9b3361

Ответ 1

У меня возникла такая же проблема с Visual Studio (она была в проекте С#). Поскольку вы не предоставили много информации о настройке своей среды, трудно точно сказать о причинах проблемы.

Поскольку у меня нет опыта работы с Visual Basic IDE, я буду предлагать причины проблемы с Visual Studio. В зависимости от ваших проектов и настроек это может быть применимо или нет для вашей VB IDE. Просто попробуйте применить их к нему.

Итак, вот исчерпывающий список потенциальных проблем, которые могут вызывать это поведение с помощью visual studio:

  • DLL, используемые вашей программой, являются кешированными
    • Это может произойти, если ваш исполняемый файл использует кешированную версию dll (это также называется теневым копированием). Часто эти файлы находятся во временной папке. Чтобы исправить это, нужно просто удалить эти временные файлы.
  • Ваш отладчик пытается загрузить модули и символы не в том месте
    • Например, Visual Studio может быть настроен на загрузку модулей в определенном месте.
      Чтобы исправить это, нужно исправить место, где загружаются модули (обычно Ctrl + D + M).
  • Операция clean/rebuild только восстанавливает выходной проект.
    • Visual studio может перестроить только ваш выходной проект, пока вы хотите перестроить все свое решение.
      Чтобы исправить это, нужно проверить правильность восстановления всего решения.
      Обратите внимание, что ваша чистая операция может не удалять ссылки, на которые ссылается проект, но не относится к ней. Эти файлы будут оставаться в папках вывода до тех пор, пока вы их не удалите.
  • Visual Studio перешла в нестабильное состояние и, вероятно, должна быть перезапущена.
    • Я больше не считаю многочисленные времена, когда простой перезапуск моего экземпляра Visual Studio фиксировал большую часть странного поведения во время компиляции.
      Чтобы исправить это, нужно просто перезапустить Visual Studio.

Обычно это пуленепробиваемый способ, когда вы сталкиваетесь с этим:

  • очистить решение
  • удалять все папки bin и obj в каждом из ваших проектов.
  • удалить временную папку, используемую для теневой копии
  • выполнить перестройку