реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> отладка c++: yagarto vs. KGP, раскрутка стека вызовов в c++ коде
Spym
сообщение Nov 13 2010, 22:31
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 24-02-08
Из: Москва
Пользователь №: 35 348



Добрый вечер. (репост отсюда с пояснением)

Наблюдаю непонятное для меня явление, нужно разобраться.

Есть, допустим, такие сущности:
foo.hpp:
Код
class TFoo
{
public:
    void Bar();
};

foo.cpp:
Код
void TFoo::Bar()
{
}

Если под отладчиком вызвать TFoo::Bar(), получим от eclipse сообщение "No source available for TFoo::Bar()"; однако, если определить Bar непосредственно в определении класса, то все работает нормально. Проблема свойственна всем вызовам C++ методов, определенных не в том же файле, где присутствует его объявление.
Пути IDE прописаны верно; в C все вызовы в другие файлы обрабатываются корректно.

Но при тех же makefile, скрипте линкера и, собственно, исходниках, сборка при помощи KGP решает проблему: вызовы обрабатываются корректно.
Формат dwarf-2, отладка через GDB, платформа ARM7.

Вопрос: как при помощи yagarto получить .elf, позволяющий отлаживать С++ код? Почему KGP собирает правильный .elf? Кто виноват?

Сообщение отредактировал Spym - Nov 13 2010, 22:34
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Nov 14 2010, 08:53
Сообщение #2


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Spym @ Nov 14 2010, 01:31) *
Кто виноват?
Клён конечно! :-)
Он вообще ой какой молодец! (без шуток)


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 23:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01485 секунд с 7
ELECTRONIX ©2004-2016