Visual Studio 2012 отладка в смешанном режиме

0

У меня есть dll, построенный из смешанного кода в VS 2012. Эта DLL загружается из.exe, встроенного в native C++.

Когда я отлаживаю dll (через F5 от VS 2012), точки останова не попадают. Это сообщение:

No executable code is associated with this line. Possible causes include: preprocessor directives or compiler/linker option

Однако, когда я запускаю exe из Windows explorer, затем выполняю "attach to process", все точки останова попадают.

Я попытался изменить тип отладчика на "Смешанный", "Родной", "Управляемый", я также играл с вариантами отладки, но результаты были одинаковыми; за исключением случаев, когда тип отладки "управляется", точки останова, похоже, загружаются (вместо пустого красного круга появляется заполненный красный круг), но не попадают.

Не могли бы вы объяснить мне это странное явление?

  • 0
    Все pdb найдены и загружены при запуске из отладчика в IDE? Что-то вроде "Символы для DLL не загружены"?
  • 0
    Из сообщения об ошибке и того факта, что отладка работает при использовании «Присоединить к процессу», я делаю вывод, что pdb загружен.
Показать ещё 4 комментария
Теги:
debugging
visual-studio-2012
mixed-mode

1 ответ

1

При запуске секции отладки с ложным пути отладки (это может быть установлено в свойствах проекта) может случиться, что pdb не будет загружен, потому что рабочий каталог не находится в исполняемом файле с pdb. Таким образом, информация об исходном местоположении отсутствует, и отладчик может ответить: с этой строкой не связан исполняемый код. При запуске приложения непосредственно рабочий каталог обычно является местом, где находится приложение, загружается точка доступа pdb. Когда отладка приложения проверяет, загружен ли соответствующий pdb, просто чтобы убедиться, что все здесь.

  • 0
    Спасибо за Ваш ответ. Что такое «путь отладки»? DLL я пытаюсь отлаживать и exe находятся в том же пути. Это путь отладки? Из вывода я вижу, что pdb загружен.
  • 0
    посмотрите: msdn.microsoft.com/de-de/library/kcw4dzyf.aspx и проверьте наличие рабочего каталога
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню