Я должен портировать консольное приложение C ++ Win32 на WEC7. После того, как я исправил некоторые ошибки сборки и линковки, я смог создать исполняемый файл, работающий на цели. Но я не смог отладить это приложение в Visual Studio, потому что точки останова не были достигнуты, хотя соответствующие строки были точно выполнены.
Для дальнейшего изучения моей проблемы я создал 2 новых проекта:
Проект Win32
Win32 Smart Device проект
Оба включают следующий код:
#include "stdio.h"void main(void)
{
int i=0;
while(1)
{
printf("i=%d\n",i);
i++;
}
}
На этом этапе я могу отлаживать оба проекта, один из которых работает на моем ноутбуке под Windows 7, а другой — на моей цели на WEC7. Теперь я изменил решение платформы с проекта 1 (проект Win32) на мою цель:
скопированы настройки с платформы Win32
установить формат отладочной информации с 4 на / Zi (понятия не имею, откуда взялись 4)
добавлены некоторые определения препроцессора WEC7
развернула программу к цели и она работает нормально (счетчик печатается в консоли), без разницы для проекта 2
попытался отладить программу, но точки останова на счетчике и printf не были достигнуты
Я проверил следующие настройки:
Конфигурация решения установлена на Отладка
Оптимизация отключена
Генерировать отладочную информацию, установленную на Да
сравнил командную строку компоновщика между проектом 1 (моя «конвертированная» версия) и проектом 2 (проект Win32 Smart Device), но они идентичны -> Обновление: на самом деле они не были идентичны вообще. Не знаю, с чем сравнивал в первый раз, но после обновления настроек все заработало нормально.
Я установил следующие обновления Visual Studio:
SP1
Обновление ATL для Windows Embedded Compact 7 для Visual Studio 2008 с пакетом обновления 1 (SP1)http://support.microsoft.com/kb/2483802/de)
Обновление Visual Studio 2008 для Windows Embedded Compact 7
(http://support.microsoft.com/kb/2483802/de)
Нужно ли менять конкретную настройку? Или мне нужно изменить свой подход?
В основном я занимался разработкой программного обеспечения на основе моделей (встроенный кодер Mathworks, dSPACE Targetlink), поэтому я не знаком с особенностями Visual Studio и WEC7. Я был бы очень признателен за любую помощь.
Это решило мою проблему:
Было несколько различий, и после того, как я их убрал, мой проект работал нормально.
Thx @brightstar
Есть несколько обновлений для VS2008, чтобы сделать его отладочным на Windows Embedded Compact 7. Вы их установили?
Например, есть
http://www.microsoft.com/en-us/download/details.aspx?id=11935