MSVC6: точка останова останавливает программу

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

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

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

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

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

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


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

12.08.2008 04:00:13
6 ОТВЕТОВ

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

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

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

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

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

-1
12.08.2008 04:48:40
Я был тем, кто отрицал это. Люди обычно не будут использовать VC6, если для этого нет веских причин. Люди, чья реакция коленного сустава состоит в том, чтобы улучшить или использовать повышение, раздражают меня, поскольку это бесполезно. Кроме того, эти посты были в те дни, когда вы не могли комментировать. Обратите внимание, что я поднял вопрос о VC2K8EE в своем посте.
graham.reeds 26.11.2010 10:10:55

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

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

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

1
12.08.2008 05:22:11

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

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

0
12.08.2008 12:28:32

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

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

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

1
21.08.2008 16:55:59

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

0
21.08.2008 17:13:13

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

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

0
22.08.2008 11:27:37