2014-05-07 2 views
0

У меня есть C# dll, зарегистрированная с regasm. Эта dll используется со старым исполняемым файлом, написанным на Visual C++. Я изначально построил DLL в VS2008 на 32-битном xp. Недавно я переместил его в Windows 8 и перестроил его в VS2013.Не могу больше ударить точки останова в моей C# DLL

Я больше не могу ударять точки останова в этой DLL. Он отлично справился с настройкой XP/2008. Выходные каталоги верны, файлы .pdb находятся в правильных местах, настройка такая же, как и раньше.

Единственное различие заключается в том, что для того, чтобы заставить это работать, мне пришлось установить флаг целевой платформы на x86, чтобы получить DLL для регистрации и правильной установки в окне 8.

Я весь день стучал головой. Я также попытался запустить target.exe и использовать «процесс присоединения», чтобы попасть в точку останова, но не играть в кости. Я очистил файлы .pdb, очистил и перестроил, и т. Д., Безрезультатно.

Кто-нибудь знает, что я могу делать неправильно?

+0

Является ли DLL загруженной при запуске .exe? (Загружается ли он с пути, из которого вы ожидаете его загрузки?) – xxbbcc

+0

Да, он загружен правильно, и методы возвращают значения, как ожидалось. Точки останова просто не достигнуты. –

+0

Вы используете смешанную (собственную и управляемую) отладку в VS? – xxbbcc

ответ

0

Я, наконец, получил его!

Отладка-> Прикрепить к процессу диалог.

Прилагается к: Управляемый код (v3.5, v3.0, v2.0), Исходный код. // Я изменил это с «Авто».

Моя целевая среда .NET в настройках проекта DLL была 3.5. Я думаю, что параметр обнаружения «Авто» не работал, поскольку я думал, что это будет ...

0

Дважды проверьте, что ваши символы файлы загружаются корректно во время выполнения с помощью диалога по адресу: Сервис -> Параметры -> отладки (вкладка) -> Символы

здесь можно указать символы, каталоги, в которых визуальная студия должна искать файлы .pdb.

Смежные вопросы