Когда я собирался отлаживать программу на С++ в VS2005, программа не останавливалась на точки останова.
VS сказал: "Никакие символы не загружаются для любого стека стека вызовов. Исходный код не может быть отображен".
Что я могу сделать?
Когда я собирался отлаживать программу на С++ в VS2005, программа не останавливалась на точки останова.
VS сказал: "Никакие символы не загружаются для любого стека стека вызовов. Исходный код не может быть отображен".
Что я могу сделать?
Спасибо всем.
Наконец, я нашел решение здесь.
Чтобы включить отладку:
1) Перейти к Project- > Свойства HelloWorld
2) Слева разверните "Свойства конфигурации"
3) Разверните "C/С++"
4) Слева выберите "Общие"
5) Справа измените "Формат отладочной информации" на "Запрограммировать базу данных для редактирования и продолжения (/ZI)"
5) Слева выберите "Оптимизация"
6) Справа измените "Оптимизация" на "Отключено (/Od)"
7) Слева откройте "Linker"
8) Слева выберите "Отладка"
9) Справа измените "Генерировать информацию отладки" на "Да"
10) Нажмите ok
11) Установите точки останова
12) Перестройте приложение
Кроме того, при запуске вашего приложения используйте Ctrl + F5 для его создания и запуска, это позволяет открыть окно консоли достаточно долго, чтобы вы могли видеть свой результат.
Несколько шагов, чтобы попробовать:
По какой-либо причине у вас нет правильных символов (.pdb файлов) в пути символа. Это может быть по нескольким причинам:
1) Ваш двоичный файл был скомпилирован совсем недавно, чем файлы .pdb. Попробуйте перекомпилировать все.
2) Вы пытаетесь отладить DLL и забыли скопировать файлы .pdb. Скопируйте эти файлы.
Также возможно, что ваш код не выполняется, как вы думаете.
Похоже, вы привязываетесь к процессу, а не к обычной сессии отладки? Если вы действительно подключаетесь к процессу, важно убедиться, что двоичные файлы, которые вы пытаетесь отлаживать, были построены с тем же исходным кодом, который в настоящее время открыт в вашей среде IDE.
Полностью очистить и перестроить, убедиться, что .pdb создан?
Я испытал эту проблему (используя С# в VS) при попытке отладки моих модульных тестов.
Вы можете добавить следующий код, который запустит новый экземпляр отладчика, который позволит вам выполнить свой код, как обычно:
System.Diagnostics.Debugger.Launch();
System.Diagnostics.Debugger.Break();
Просто добавьте еще одну возможность, еще не охваченную MainID:
При отладке я на самом деле запустил какую-то программу, которая вызывается в классы, которые я хотел отлаживать (это что-то вроде добавления). Вызываемая программа частично написана в неуправляемом С++. Когда я проверил "Включить неуправляемую отладку кода", возникла бы ошибка (и впоследствии программа потерпела крах), потому что у программы не было никакой информации об отладке.
Я решил эту проблему в WP7, выполнив следующее:
Надеюсь, это поможет вам!