На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
  
> Разбираем дамп в *nix
    Для этого использую gdb

    GNU gdb 6.1.1 [FreeBSD]
    Copyright 2004 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB. Type "show warranty" for details.
    This GDB was configured as "i386-marcel-freebsd"...(no debugging symbols found)...
    Core was generated by `my.bin'.
    Program terminated with signal 11, Segmentation fault.
    Reading symbols from /usr/local/lib/mysql/libmysqlclient.so.15...(no debugging symbols found)...done.
    Loaded symbols for /usr/local/lib/mysql/libmysqlclient.so.15
    Reading symbols from /lib/libz.so.2...(no debugging symbols found)...done.
    Loaded symbols for /lib/libz.so.2
    Reading symbols from /lib/libc.so.5...(no debugging symbols found)...done.
    Loaded symbols for /lib/libc.so.5
    Reading symbols from /lib/libcrypt.so.2...(no debugging symbols found)...done.
    Loaded symbols for /lib/libcrypt.so.2
    Reading symbols from /lib/libm.so.3...(no debugging symbols found)...done.
    Loaded symbols for /lib/libm.so.3
    Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...done.
    Loaded symbols for /libexec/ld-elf.so.1
    #0 0x080558c1 in my_get_cookies ()

    И не как не пойму как при его помощи найти ошибку, т.е. по его мнению что-то не так в libmysqlclient? А что именно?
      Дизассемблировать участок кода, где произошла ошибка. У него же хелп есть по всем командам. disassemble my_get_cookies, чтоб посмотреть дизасм-листинг ф-ии этой. Я, правда, тоже как-то забил на такую отладку из-за того, что слишком неудобно стало через консоль отлаживать - привык к ollydbg...
      disassemble 0x080558c1
      но на самом деле я думаю врядли тебе поможет gdb, т.к. если эта ф-ия из либы какой-то, как ты сказал, проще поискать ошибку в коде - мб где-то ноль передаешь, звездочку забыл, и т.п.
      Сообщение отредактировано: FFF1 -
        Цитата Roman S @
        по его мнению что-то не так в libmysqlclient?

        Ни откуда это не следует. Загрузка символов не означает ничего плохого.
        А ошибку надо искать по stack trace.
          А это разве не означает место, где она произошла (исключение)
          #0 0x080558c1 in my_get_cookies ()
            Roman S, ты бы показал кусок кода, где вываливается ошибка, может все намного проще.
              cgi стоит на серваке, самое интересное что не где нет 500 ошибки и все работает нормально, только дамп иногда появляются и я не как не могу понят откуда.

              А в другом cgi слово "0 0x080558c1 in my_get_cookies () " вообще нет.

              Добавлено
              my_get_cookies () с библией мускула ну не как не вяжется.
                Roman S,
                чтобы использовать gdb, исходники программы(и библиотеки в том числе) необходимо собирать с соответствующими ключами. Код в студию ... 8-)
                  Что именно нужно, боюсь всё в студию не вместется :)))
                    Roman S, лучшая отладка - вести логи всех важных и критических действий.
                      Здесь проблема - могу увидеть когда это происходит. Покавырялся в логах по HTTP запросу (когда дамп выскакивает), симулирую ситуацию - чисто <_<
                        Я имел в виду, что нужно вести логи всех критических действий при выполнении самого скрипта.
                          gruy - это не скрипт , это сишный бинарник у которого выскакивает дамп. И как искать то что не знаешь и главное где.
                            Цитата
                            gruy - это не скрипт , это сишный бинарник у которого выскакивает дамп. И как искать то что не знаешь и главное где

                            Скрипт это или бинарник, полученный из исходника сути дела не меняют.
                            Боюсь спросить... Исходники то есть? Создается впечатление, что они отсутствуют.
                            Сообщение отредактировано: Паровоз -
                            1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                            0 пользователей:


                            Рейтинг@Mail.ru
                            [ Script execution time: 0,0277 ]   [ 15 queries used ]   [ Generated: 22.05.24, 15:05 GMT ]