2008-08-12 19 views
5

с помощью Microsoft Visual Studio 98, Microsoft Visual C++ 6.0 SP6MSVC6: Breakpoint останавливает программу

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

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

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

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

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


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

ответ

-1

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

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

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

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

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

+0

Я был тем, кто отказался от этого. Люди вообще не будут использовать VC6, если для этого нет веских оснований. Люди, чья реакция на клише для обновления или использования boost раздражает меня, поскольку это бесполезно. Также эти сообщения были за несколько дней до того, как вы могли прокомментировать - заметьте, что я поднял вопрос о VC2K8EE в своем сообщении. – 2010-11-26 10:10:55

1

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

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

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

0

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

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

1

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

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

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

0

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

0

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

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

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