MSVC6: Точка останова останавливает программу - PullRequest
5 голосов
/ 12 августа 2008

Использование Microsoft Visual Studio 98, Microsoft Visual C ++ 6.0 SP6

При работе под отладчиком, есть только одна проблема. Если я приостанавливаю программу и возобновляю работу, все в порядке.

Проблема? Когда я достигаю точки останова, моя программа останавливается. Но не в хорошем смысле; выполнение останавливается, я выхожу из режима отладки в режим редактирования. Все хорошо, пока точка останова не достигнута. И я знаю, что он достигает точки останова - я вижу вспышку маленькой желтой стрелки, указывающей на правую строку кода, локальные переменные в окне проверки и стек вызовов в этом окне. А потом я смотрю на редактора.

Это происходит во всех проектах.

Я удалил и переустановил MSVC6. Это не помогло.

Я собираюсь начать все сначала на новом ПК; прежде чем я зайду так далеко, кто-нибудь знает, что я сделал с этим?


Примечание: MSVC6 - не мой выбор, но есть причины. Это инструмент, с которым я работаю. И мы добрались до NT4, поэтому, учитывая, что 2008 не может быть ориентирован на NT4, а 2005 имеет проблемы с MFC и NT4, MSVC6 это так.

Ответы [ 6 ]

1 голос
/ 21 августа 2008

Первое, что я хотел бы проверить, - делает ли этот проект то же самое на других машинах. Если нет, это может быть ваша коробка движется на юг. Если нет, то это сам проект VC6.

Обычно я получаю глупость с отладчиком, когда моя программа что-то делает с аппаратным обеспечением, особенно с видео.

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

1 голос
/ 12 августа 2008

Хватит биться на VC6. Это старое. STL был обновлен в 1996 году на основе кода HP, написанного в 1994 году. C ++ был ратифицирован в 1998 году.

Что делает код, когда вы ломаетесь? Можете ли вы свести ситуацию в простой тест? Когда я пытаюсь это сделать, я обычно нахожу причину. Если вы можете сделать это, чтобы это все еще происходило, тогда я посмотрю на вас. Мне тоже не повезло использовать VC6 для повседневной работы.

Visual C ++ Express 2008 не может использоваться в определенных ситуациях.

0 голосов
/ 22 августа 2008

Не хватает ли устройству памяти и, следовательно, теряет призрак, когда ему требуется дополнительная память для остановки на точке останова?

Нет, требуется больше оперативной памяти и даже больше виртуальной памяти.

0 голосов
/ 21 августа 2008

Не хватает ли устройству памяти и, следовательно, теряет призрак, когда ему требуется дополнительная память для остановки на точке останова?

0 голосов
/ 12 августа 2008

Это специфично для приложения, над которым вы работаете, или все точки останова в любом приложении ломают отладчик?

Что-нибудь другое, если вы подключаете отладчик вручную после нормального запуска приложения?

0 голосов
/ 12 августа 2008

Я не использовал MSVC6 в течение многих лет, но я помню, что отладчик в основном был хламом. Подобные вещи будут происходить регулярно без видимой причины, потому что в этот день просто не понравился ваш код.

В дополнение к тому, что отладчик был хламом, остальное тоже было.

Это реализация STL, не ориентированная на многопотоковое исполнение, не очень поддерживающая стандарт C ++, и в IDE катастрофически не хватает тонкостей.

Я почти уверен, что вы просто не можете использовать какие-либо версии Platform SDK за последние 5 лет, потому что они слишком стары, чтобы их впитывать. Не очень хорошая вещь.

Вы были бы безумны, если бы продолжали использовать его, когда есть Visual C ++ Express 2008 , который можно загрузить бесплатно.

...