Как создать файл отладочной карты для приложения Android в Delphi XE6?

1

Я применил обратную трассировку для моего приложения Android, скомпилированного в XE6, используя Posix.Backtrace из https://bitbucket.org/shadow_cs/delphi-arm-backtrace. Как сейчас, я получаю обратную линию, но не номера строк.

Я ищу, чтобы создать файл карты для моего android.so, чтобы я мог кормить адреса во время выполнения до addr2line, чтобы в моем отчете об ошибке содержались номера строк.

Я искал IDE для создания файла карты, как и для приложения Win32 Delphi, выбрав

Проект > Параметры > Компилятор Delphi > Связывание.

Нет опции для файла карты, если выбрана платформа Android. Выбор всех конфигураций Android явно исключается: Map File ARM, только платформа устройств iOS; Файл карты, только 32-битный Windows, OSx, iOS. Я все равно попробовал оптимизацию, отлаживал и не получал .map файл.

Есть ли способ создать файл .map для приложения Android в Delphi?

Спасибо!

  • 0
    Вы правы, этого даже нет в XE7
Теги:
delphi-xe6

1 ответ

1
Лучший ответ

Если вы запустите командную строку RAD Studio и вызовите dccaarm.exe, вы увидите, что, несмотря на то, что IDE не всплывает, компилятор поддерживает ключи командной строки -G и -GD, оба из которых испускают карту файл.

Вызовите диалоговое окно параметров проекта (Ctrl+Shift+F11), а в дереве опций выберите Delphi Compiler, Compiling. Теперь выберите "Другие параметры", "Дополнительные параметры", чтобы перейти к компилятору и введите -G

Перекомпилируйте свой проект, и будет создан файл карты, например. project_folder\Android\Debug\libProject1.so.map

Примечание. В Delphi 10.1 Berlin все еще отсутствует опция компоновщика IDE, о которой я смотрю - вопрос относится к Delphi XE7, поэтому некоторые из особенностей описанных выше шагов могут потребовать незначительной настройки.

  • 0
    Спасибо! Сейчас мы на Delphi 10 в Сиэтле. Ваше предложение сработало отлично. Теперь у меня есть файл карты для моего Android так.
  • 0
    Я понимаю, что это ошибка - недосмотр в Delphi XE5, который никто не заметил во всех этих версиях .... до сих пор. Я постараюсь сообщить об этом в какой-то момент.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню