Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> kdevelop дизассемблирование, Просмотр ассемблерного кода при отладке 
V
    Опции темы
Graf Zeppelin
Дата 18.5.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 28.3.2004

Репутация: нет
Всего: 1



Хотелось бы во время отладки программы в kdevelop (используется GDB) иметь возможность просматривать код программы на ассемблере. В IDE есть вкладка "Disassemble", но при нажатии на неё вылетает следующее:
Код

The exception is: MI type error
The MI response is: ^done,asm_insns=[{address="0x08048443",func-name="main",offset="79",inst="mov    $0x0,%eax"},
{address="0x08048448",func-name="main",offset="84",inst="add    $0x14,%esp"},
{address="0x0804844b",func-name="main",offset="87",inst="pop    %ecx"},
{address="0x0804844c",func-name="main",offset="88",inst="pop    %ebp"},
{address="0x0804844d",func-name="main",offset="89",inst="lea    -0x4(%ecx),%esp"},
{address="0x08048450",func-name="main",offset="92",inst="ret    "},
{address="0x08048451",func-name="write",offset="0",inst="push   %ebp"},
{address="0x08048452",func-name="write",offset="1",inst="mov    %esp,%ebp"},
{address="0x08048454",func-name="write",offset="3",inst="sub    $0x18,%esp"},
{address="0x08048457",func-name="write",offset="6",inst="mov    0x8(%ebp),%eax"},
{address="0x0804845a",func-name="write",offset="9",inst="mov    %eax,0x4(%esp)"},
{address="0x0804845e",func-name="write",offset="13",inst="lea    -0x5(%ebp),%eax"},
{address="0x08048461",func-name="write",offset="16",inst="mov    %eax,(%esp)"},
{address="0x08048464",func-name="write",offset="19",inst="call   0x8048340 <strcpy@plt>"},
{address="0x08048469",func-name="write",offset="24",inst="movl   $0x8048540,(%esp)"},
{address="0x08048470",func-name="write",offset="31",inst="call   0x8048360 <puts@plt>"},
{address="0x08048475",func-name="write",offset="36",inst="leave  "},
{address="0x08048476",func-name="write",offset="37",inst="ret  "},
{address="0x08048477",inst="nop    "},
{address="0x08048478",inst="nop    "},
{address="0x08048479",inst="nop    "},
{address="0x0804847a",inst="nop    "},
{address="0x0804847b",inst="nop    "},
{address="0x0804847c",inst="nop    "},
{address="0x0804847d",inst="nop    "},
{address="0x0804847e",inst="nop    "},
{address="0x0804847f",inst="nop    "},
{address="0x08048480",func-name="__libc_csu_fini",offset="0",inst="push   %ebp"},
{address="0x08048481",func-name="__libc_csu_fini",offset="1",inst="mov    %esp,%ebp"},
{address="0x08048483",func-name="__libc_csu_fini",offset="3",inst="pop    %ebp"},
{address="0x08048484",func-name="__libc_csu_fini",offset="4",inst="ret"},{address="0x08048485",inst="lea    0x0(%esi,%eiz,1),%esi"},
{address="0x08048489",inst="lea    0x0(%edi,%eiz,1),%edi"},
{address="0x08048490",func-name="__libc_csu_init",offset="0",inst="push   %ebp"},
{address="0x08048491",func-name="__libc_csu_init",offset="1",inst="mov    %esp,%ebp"},
{address="0x08048493",func-name="__libc_csu_init",offset="3",inst="push   %edi"},
{address="0x08048494",func-name="__libc_csu_init",offset="4",inst="push   %esi"},
{address="0x08048495",func-name="__libc_csu_init",offset="5",inst="push   %ebx"},
{address="0x08048496",func-name="__libc_csu_init",offset="6",inst="call   0x80484ea <__i686.get_pc_thunk.bx>"},
{address="0x0804849b",func-name="__libc_csu_init",offset="11",inst="add    $0x119d,%ebx"},
{address="0x080484a1",func-name="__libc_csu_init",offset="17",inst="sub    $0xc,%esp"},
{address="0x080484a4",func-name="__libc_csu_init",offset="20",inst="call   0x80482e0 <_init>"},
{address="0x080484a9",func-name="__libc_csu_init",offset="25",inst="lea    -0xe8(%ebx),%edi"},
{address="0x080484af",func-name="__libc_csu_init",offset="31",inst="lea    -0xe8(%ebx),%eax"},
{address="0x080484b5",func-name="__libc_csu_init",offset="37",inst="sub    %eax,%edi"},
{address="0x080484b7",func-name="__libc_csu_init",offset="39",inst="sar    $0x2,%edi"},
{address="0x080484ba",func-name="__libc_csu_init",offset="42",inst="test   %edi,%edi"},
{address="0x080484bc",func-name="__libc_csu_init",offset="44",inst="je     0x80484e2 <__libc_csu_init+82>"},
{address="0x080484be",func-name="__libc_csu_init",offset="46",inst="xor    %esi,%esi"},
{address="0x080484c0",func-name="__libc_csu_init",offset="48",inst="mov    0x10(%ebp),%eax"}]

Возможно для этого надо какие-то ключи добавлять к опциям компиляции или либу поставить какую-то? Я просто неоднократно сталкивался с тем, что по причине использования Kdevelop в Gnome для корректной работы надо ставить какие-то пакеты которые в зависимости не прописаны. Что посоветуете? 
В остальном отладка нормально работает.
--------------------
Jah, help me!
PM MAIL   Вверх
Graf Zeppelin
Дата 18.5.2008, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 28.3.2004

Репутация: нет
Всего: 1



Проблема частично решена - код показывается, но суть была в том, что программа была слишком короткая. Как это связано с работой отладчика - затрудняюсь сказать =)
--------------------
Jah, help me!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0566 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.