gdb breakpoints

Тема в разделе "WASM.UNIX", создана пользователем cresta, 18 окт 2007.

  1. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Загружаю программу в gdb:
    gdb --tui hello
    Программа загружается, верхнее окно отображает листинг hello.cpp.
    Ставлю break на main, выводит
    Breakpoint 1 at 0x8048a24: file hello.cpp, line 74.
    Делаю next - выводит "The program is not being run."
    Теперь запускаю run, ожидая остановки на входе в main, но программа пролетает через breakpoint без остановки и сеанс gdb завершается, оставляя после себя в консоли
    [1]+ Stopped
    [cresta@localhost hello]$

    Пробовал устанавливать breakpoint на разные другие места в программе - тот же эффект: программа завершается, так и не остановившись на указаном месте.

    Что неправильно?




    GNU gdb 6.3-3mdk (Mandrakelinux)
     
  2. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    cresta
    1) в программе есть метка main 2) программа через нее не проходит, а например проходит
    через _main или еще что-то.
    ====================
    Я вообще в текстах не отлаживал, но обычно в режиме "отладка на ЯВУ"
    брейки хреново работают. Уж тогда ставь на первую строчку проги.
    Кстати line 74 - это где ?
     
  3. WIN32

    WIN32 Member

    Публикаций:
    0
    Регистрация:
    20 янв 2007
    Сообщения:
    338
    valterg
    брейкпоинты работают нормально.
    cresta
    asm("int 3");
     
  4. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    угу. лучше всего, расставить по глючному участку кода в нескольких местах, в зависимости от объёма.
     
  5. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    cresta
    Попробуй скопилить прогу с отладочными символами для гдб. И ради интереса проверь в ddd (да, именно там бряки поставь)
    У меня такой вариант работал идеально.
     
  6. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Он уж и забыл про эту проблему - а жаль :-(
     
  7. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Дык ясно дело, что за полгода уже успел решить проблему, забыть её решение и забыть, что проблема вообще существовала. :)))

    TermoSINteZ прав: дело было в том, что компилировал без отладочной информации.
    С отладочной инфой практически все что нужно было получил, и бряки все срабатывали, и дамп, и все переменные/символы, и дизасм, и пошаговое исполнение с отображением исполняемой строки с-исходника. Почти что как в Оле :)