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

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

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

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

Так бывает во всех проектах.

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

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


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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
6
0
1 280
6

Ответы 6

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

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

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

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

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

Я был тем, кто проголосовал против. Обычно люди не будут использовать VC6, если для этого нет веской причины. Люди, чья реакция коленного сустава заключается в обновлении или использовании Boost, меня раздражают, поскольку это бесполезно. Также эти сообщения были до того, как вы могли комментировать - обратите внимание, что я поднял вопрос VC2K8EE в своем сообщении.

graham.reeds 26.11.2010 13:10

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

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

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

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

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

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

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

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

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

Is the device running out of memory and therefore gives up the ghost when it requires the additional memory to stop at the breakpoint?

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

Другие вопросы по теме