Невозможно выполнить отладку 64-разрядного приложения в конфигурации выпуска с включенной отладочной информацией



Я пытаюсь отладить приложение, которое находится в конфигурации выпуска - 64-разрядная платформа Windows , но никакие точки останова не будут поражены.



Я включил компилятор отладочная информация опция:



Введите описание изображения здесь



Я могу отлаживать приложение, когда оно находится в конфигурации 32-разрядного выпуска; точки останова работают нормально.



| Configuration | 32-bit     | 64-bit     |
|---------------|------------|------------|
| Debug | Debuggable | Debuggable |
| Release | Debuggable | Fails |

All with "Debug information" set to "Debug information",
and full build (Shift+F9) before running.


Итак, три вопроса:




  • Почему настройка отладочной информации работает для 32-разрядной версии отладчик, но не 64-битный дубаггер?

  • Почему 64-разрядный отладчик может отлаживать приложение в конфигурацииDebug , но не в конфигурацииRelease ?
  • какую опцию я должен изменить, чтобы разрешить мне отлаживать 64-разрядные приложения в конфигурацииRelease ?


Бонусные Скриншоты



32-разрядные параметры компоновщика релизов:



Введите описание изображения здесь



64-разрядные параметры компоновщика релизов:



Введите описание изображения здесь

546   1  

1 ответ:

Я думаю, что вам нужно включить отладочную информацию в параметрах компоновщика. По крайней мере, когда я отключаю это, точки останова не поражаются, а когда я включаю этот параметр, точки останова поражаются.

В общем, из того, что я могу сказать, используя надежный метод проб и ошибок, вам нужно следующее, чтобы включить отладку:

  • 32 бит: включена отладочная информация компилятора.
  • 64 бит: включена отладочная информация компилятора и компоновщика.

Comments

    Ничего не найдено.