Отладка x86 приложение.NET в Windows x64 в VS2008

Я использую x64 версию Windows 7. Мое использование приложения некоторые серверы COM (обычные собственные серверы x86 COM), который не может быть загружен в x64 контексте. Таким образом, я решил, выполняет его как x86 приложение с помощью WOW, таким образом, я поставил цель платформы как x86.

Но отладчик Visual Studio 2008 года начал показывать, что сообщения как "Исходный файл отличаются...." для всех исходных файлов, когда я пробую, отлаживают его. Что такое причина этого поведения? Этот вопрос родился там "Исходный файл, отличается...." сообщение в Visual Studio, 2008 является результатом отладки x32 приложения на x64 Windows

Обновление: Я убрал решение, восстановленное решение, удалил obj, мусорное ведро, и и т.д. папки, перезапущенный компьютер, переустановили Visual Studio... Так, что еще могло быть проблемой?

Update2: Если Вы создадите новый проект Windows Application и измените целевую платформу на x86, то Вы будете видеть эту проблему. Но если Вы удалите Settings1.settings из проекта, то проблема будет устранена!!. Какая-либо Идея?

Update3: http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/bc297668-65b4-46e8-969e-c7a6340d33b6

5
задан Community 23 May 2017 в 12:19
поделиться

3 ответа

Я согласен с Antti, лучшей практикой было бы реализовать некоторые контрольные точки, где поток проверяет, должен ли он завершиться. Эти контрольные точки могут быть реализованы несколькими способами, например, совместно используемой переменной с блокировкой или событием, которое поток проверяет, установлен ли он (поток может выбрать нулевое время ожидания).

-121--1206637-

imageДанные являются более гибкими, например, некоторые из них ограничивают uris данных до 32k.

-121--1918216-

Windows 7 по умолчанию устанавливает режим совместимости Windows Xp sp 3 для VS 2008. Изменение совместимости на режим Windows Vista SP2 решило проблемы.

4
ответ дан 14 December 2019 в 01:09
поделиться

Полученное сообщение об ошибке не связано с отладкой битового приложения WOW64. Здесь это еще менее проблематично, так как Visual Studio запускает 32-битный процесс внутри WOW64. Так что вместо x64 -> x86 вы на самом деле делаете отладочный сеанс x86 -> x86.

Здесь происходит то, что Visual Studio читает контрольную сумму исходных файлов из PDB и она не совпадает с контрольной суммой файлов, которые вы используете для отладки приложения. Наиболее вероятными причинами этого являются

  • Устаревшие PDB
  • Использование некорректных исходных файлов. Это более распространено, чем вы думаете, в сценариях разветвления, где вы легко можете получить неправильную версию файла.

Обычно я отлаживаю это следующим образом:

  • Закрыть VS и вручную удалить все двоичные файлы и двоичные каталоги
  • Перезапустить VS и пересобрать
  • Закрыть VS
  • Перезапустить VS и прикрепить к работающему проекту, не открывая решение
  • Затем вручную открыть файлы
4
ответ дан 14 December 2019 в 01:09
поделиться
[

] Также можно проверить тип сборки x86. При его создании вы можете не копировать настройки из сборки по умолчанию, и поэтому ни один ваш код не собирается при запуске приложения. [

] [

]Вызовите []Свойства решения [] и проверьте страницу []Конфигурация Properties\Configuration[]. Затем убедитесь, что все проекты проверены в разделе []Build[] для используемого вами конфигурационного/платформенного комбо.[

].
1
ответ дан 14 December 2019 в 01:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: