LINUX.ORG.RU

Android NDK debug

 , , ,


0

1

Вот настроил debug для ndk. Дело это не совсем тривиальное, но вроде работает. Правда пока не получается после си метода вернуться в java код, но думаю и это решаемо. Все это в виртуалочке, но тем не менее.

Debian 6.0.2
Gnome 2.30.1

>>> Просмотр (1280x1024, 144 Kb)

★★

Проверено: JB ()
Последнее исправление: JB (всего исправлений: 1)

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

waker ★★★★★
()

ну и было бы неплохо узнать, что именно пришлось делать, кроме запуска gdbserver и добавления -g в CFLAGS

waker ★★★★★
()

и последний (надеюсь) вопрос — с физическим девайсом это работает, или только с эмулятором? у меня эмулятор не хочет жрать мои ассемблерные извраты - qemu вылетает.

waker ★★★★★
()
Ответ на: комментарий от waker

1) дизасм есть. вот смотри: http://dl.dropbox.com/u/24204076/Screenshot-1.png

2) там 3 страницы руководства. Это первая. В конце ссылка на следующую. http://luchaninov.wordpress.com/2011/06/10/%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%...

3) на девайсе не пробовал, но почему не должно

sacred ★★
() автор топика
Ответ на: комментарий от sacred

к сожалению, попытка установить CDT обламывается.

An error occurred while collecting items to be installed
session context was:(profile=SDKProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
No repository found containing: osgi.bundle,org.eclipse.cdt,7.0.2.201102110609

и такая ошибка на каждый компонент.. наверное, сервер с репозиторием лежит..

waker ★★★★★
()
Ответ на: комментарий от waker

мб мб. зато решил проблему с возвратом в java debug: в си методе на строчке с return жмем resume(f8) и возвращаемся в java код. кста в ndk есть утилита которая обрабатывает стэк трейсы и показывает на каком методе падает либа

sacred ★★
() автор топика
Ответ на: комментарий от sacred

> кста в ndk есть утилита которая обрабатывает стэк трейсы и показывает на каком методе падает либа

мне это не поможет.. в данный момент мне именно дебаггер нужен (пошагово выполнять, смотреть регистры и память). вообще мне тут посоветовали попробовать обычный gdb из консоли. может проще будет, чем с эклипсой интегрировать.

waker ★★★★★
()
Ответ на: комментарий от waker

вот скажи плиз: сколько времени у тебя уйдет на установку арча на новый комп и полную настройку комфортного тебе окружения? те систеа+de+набор прог + всякие плюшки + поиск неизвестных дров

sacred ★★
() автор топика
Ответ на: комментарий от sacred

> на мой взгляд gdb это извращение

мне нормально, я и так его использую постоянно.

waker ★★★★★
()
Ответ на: комментарий от sacred

> сколько времени у тебя уйдет на установку арча и полную настройку комфортного тебе окружения?

в прошлый раз установка системы на новый комп и перенос программ и настроек со старого заняли ~40 минут. c дровами проблем пока не имел, так что не знаю.

waker ★★★★★
()

Что такого? Я тоже могу запустить NetBeans, перместить панель вверх и выложить скриншот...

phpbb
()
Ответ на: комментарий от waker

p.s в данный момент, поставить арч и настроить комфортное окружение гораздо труднее, т.к. выпилили гном2. но можно настроить некомфортное, за то же время :)

waker ★★★★★
()
Ответ на: комментарий от phpbb

ну как запилишь в нетбинсе native debug так и выкладывай. да и вообще я ни на что не претендую. просто рабочая система в виртуалке

sacred ★★
() автор топика
Ответ на: комментарий от phpbb

тут вопрос не в эклипсе, а в том, чтобы настроить нативный дебаг - это нифига не тривиально, андроид-девелоперы подтвердят

thevery ★★★★
()
Ответ на: комментарий от thevery

>>тут вопрос не в эклипсе, а в том, чтобы настроить нативный дебаг - это нифига не тривиально, андроид-девелоперы подтвердят
Андроид-девелоперы не нужны. Dalvik не кроссплатформенный. Это нарушает много патентов и идеологию Java.

phpbb
()
Ответ на: комментарий от thevery

>>под iOS, увы, девелопить значительно сложнее из-за Obj-C :(
Зачем iOS? Писать надо под обчные телефоны на чистой Java ME.

phpbb
()
Ответ на: комментарий от andreyu

>Используйте C++, кто вам мешает?

с плюсами там не всё так просто, да и сами плюсы - не подарок, что уж там говорить...

thevery ★★★★
()
Ответ на: комментарий от andreyu

Жопс уже перестал заворачивать из аппстора софт, написанный не на расово верных obj-c + cocoa (или что там у них щас)? Или это мне приснилось?

leave ★★★★★
()
Ответ на: комментарий от leave

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

PolarFox ★★★★★
()
Ответ на: комментарий от leave

> Жопс уже перестал заворачивать из аппстора софт, написанный не на расово верных obj-c + cocoa (или что там у них щас)? Или это мне приснилось?

Софт, написанный на плюсах, никто и никуда не заворачивал.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Значит, меня глючило. Что ж, будет знать, спасибо.

leave ★★★★★
()
Ответ на: комментарий от andreyu

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

sacred ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.