Страниц: [1]
  Печать  
Автор Тема: Разница автономного GDB и GDB из-под Momentics  (Прочитано 2357 раз)
AlexGr
Участник
*
Offline Offline

Сообщений: 1


Просмотр профиля
« : Января 18, 2012, 10:50:20 am »

Здравствуйте! Проясните Христа-ради кто может, дело стоит!
  При отладке большого проекта С++ для QNX, стандартно подготовленного в Momentics (QNX641 для Win32),  обнаружено,
что если автономно запустить тот же самый GDB (ntox86-gdb.exe), что использует Momentics, и загрузить таблицу
символов из бинарника <проект>_g (да и дальше при запуске REMOTE-задачи) , то попытка получить
адрес /(gdb) p &BM.n_akss/ элемента структуры BM вида:
    struct { char Use; uint16 n_akss; .....},   где  typedef unsigned short int  uint16; 
дает адрес ...2, а не ...1, как должно быть!? В последующих элементах структуры сдвиг еще больше и логике не поддается!
   Однако при запуске проекта из-под Momentics в режиме Debug, тот же GDB автоматически запускаемый Momentics-ом
дает правильный результат. Анализ настроек GDB (по '(gdb) info set') не выявил значимых различий.
Что-то повидимому все-таки в настройках(?), но что??!!!!!
   P.S.  Автономный запуск GDB нужен для организации динамического отображения в окнах Windows переменных проекта.
Записан
qnxloder
Sr. Member
****
Offline Offline

Сообщений: 292


Просмотр профиля
« Ответ #1 : Января 18, 2012, 12:14:26 pm »

Попробуйте struct { char Use; uint16 n_akss; .....}  __attribute__ ((packed)) BM;
Записан
Страниц: [1]
  Печать  
 
Перейти в: