Трудно отладить встроенное приложение

Я пытаюсь отладить приложение на встроенном устройстве под управлением старой версии Linux / Qtopia. Я просил помощи на форумах QT, но люди там не знают о старых программных и встроенных системах. Мне действительно нужна помощь со стратегиями отладки.

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

Нет ошибки сегмента или сигнала, но моя программа не продолжается, и деструктор не вызывается. Мне кажется, что одна из первых вещей, которые произойдут в цикле событий, - это событие изменения размера, и когда оно вызывается, оно может отличаться, если вы запускаете его из консоли или значка. Также, различные виджеты в моем графическом интерфейсе будут инициализированы и прорисованы, так что это также является потенциальным источником ошибки, если я что-то не настроил должным образом.

Мои параметры отладки ограничены, так как область, где фактически происходит сбой, не находится под мой контроль Я попытался войти в файл и распечатать на stderr, но это не помогло. Когда я добрался до состояния, в котором он запускается из значка, а не из консоли, я попытался запустить в gdb и strace, но он работал нормально - классическая проблема инициализации программного обеспечения для отладки.

Моя следующая мысль - попытаться принудительно запустить ядро. сбросить и затем проанализировать это. Как заставить дамп ядра? Есть ли лучшая стратегия?

1
задан koan 22 August 2010 в 21:42
поделиться

1 ответ

Запись в файл или через коммуникационный порт (последовательный порт и т. д.), вероятно, самый простой способ увидеть, что происходит, и поддерживать нормальное время выполнения (т. е. не в отладчике).

Вы говорите, что запись в файл и печать в stderr не помогли. Почему нет? Печатаете ли вы соответствующую отладочную информацию в файл? Вы используете исходники Linux/Qtopia и добавляете журнал отладки?

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

2
ответ дан 2 September 2019 в 21:55
поделиться
Другие вопросы по тегам:

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