Как я могу отладить несколько приложений, загрузив несколько определений символов в GDB? - PullRequest
3 голосов
/ 12 августа 2010

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

Приложение 1 работает с 0x10000000 - 0x20000000, приложение 2 работает с 0x20000000 - 0x30000000 и т. Д.

Обычно GDB принимает только один файл определения символов. Но в этом случае я мог бы потенциально загрузить все 3 определения без столкновения. Как мне этого добиться?

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

Как я могу сказать GDB загрузить все 3 определения символов, но автоматически переключить определение на основе этой информации?

1 Ответ

1 голос
/ 14 августа 2010

Вы пробовали

add-symbol-file app1 0x10000000
add-symbol-file app2 0x20000000
add-symbol-file app3 0x30000000

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

Если на самом деле приложения не загружаются одновременно, может помочь поддержка оверлея GDB .

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