Аппаратные точки останова на XP 64 бит - PullRequest
3 голосов
/ 29 января 2010

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

У нас есть приложение, использующее аппаратные точки останова, которое в течение некоторого времени работало в 32-битной операционной системе XP и 32-битной операционной системе Vista. Однако, портировав наш код на 64-битную версию, мы получаем сбой, когда приложение работает на 64-битной XP, но не на 64-битной Vista. Приложение скомпилировано и построено на XP.

Мы выделили это до возобновления потока после установки точки останова (DR7 = 1). Сбой происходит, если мы поднимаем диалоговое окно файла и элементы управления графическим интерфейсом на формах довольно ненадежны. Странно, что если после установки точки останова и наблюдения за нестабильным графическим интерфейсом пользователя мы затем отключаем точку останова (DR7 = 0), то графический интерфейс снова начинает работать нормально, и открытие диалогового окна файла не вызывает сбой.

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

Ответы [ 3 ]

1 голос
/ 28 июля 2010
1 голос
/ 10 мая 2012

Visual Studio имеет точки останова данных. Вы можете настроить отладчик так, чтобы он останавливался при записи на определенный адрес памяти.

http://msdn.microsoft.com/en-us/library/350dyxd0.aspx

1 голос
/ 05 февраля 2010

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

Наверное, тогда нет!

Вы можете создать простое приложение MFC в Visual Studio и установить аппаратную точку останова, например, точка останова данных в отладчике и в приложении будет демонстрировать то же поведение, что и вы.

XP x64 иногда кажется испорченной по сравнению с кодовой базой Vista / 7. Поэтому неудивительно, что Microsoft вообще не поддерживает XP x64 для некоторых из своих новых продуктов, включая Office 2010.

...