The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Как посмотреть причину генерации core файла в gdb
программа - файл рухнувшей программы, собранной с включением отладочной информации
core - файл с core

$ gdb

Указываем файл рухнувшей программы, собранной с включением отладочной информации
  (gdb) программа

Указываем файл с core, будет показана причина и строка на которой приложение рухнуло
  (gdb) core core  
  (gdb) info thread
  (gdb) info shared
  (gdb) info locals
  (gdb) info files
  (gdb) info variables
  (gdb) help info

Смотрим состояние стека до падения
  (gdb) backtrace 1
  (gdb) backtrace 2
  или просто    (gdb) backtrace
 
Указываем номер фрейма который будем смотреть подробнее (показан как #N)
  (gdb) frame 0

Смотрим состояние переменных (в примере - result)
  (gdb) info locals
  (gdb) print result
  (gdb) whatis result

Полезно также посомотреть на выполнении какого системного вызова происходит
сбой используя программы
 strace (http://strace.sourceforge.net), ltrace (для Linux) или ktrace и truss (входят в состав FreeBSD).
 
12.12.2005 , Источник: http://www.linuxgazette.com/node/10...
Ключи: gdb, debug, core / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / C/C++, сборка, отладка

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Rush, 17:24, 13/12/2005 [ответить] [смотреть все]
  • +/
    Это что мода такая пошла публиковать кастрированные огрызки стандартных man'ов?? :-\
     
     
  • 2.2, stepoff, 14:43, 20/12/2005 [^] [ответить] [смотреть все]
  • +/
    Это рецепт. Ман это куча ингридиентов, а это конкретный рецепт.
    Мне __иногда__ приходится залазить в core файлы, но редко и я обычно забываю последовательность действий. А при помощи таких рецептов быстро вспоминаю.
     
  • 2.8, Сергей, 22:59, 22/02/2010 [^] [ответить] [смотреть все]
  • +/
    Ты сам и есть КАСТРИРОВАННЫЙ ОГРЫЗОК. Все знаешь? Все умеешь?
    Опыт показывает, что при общении с таким стоит лишь немного глубже копнуть, так они сразу и обсераются.
    Статья отличная. Новичку очень полезна.
     
  • 1.3, Imago, 19:17, 04/01/2006 [ответить] [смотреть все]
  • +/
    Все вроде круто, а чё если отладочная инфа не включина???
     
     
  • 2.5, Anton, 12:27, 07/01/2006 [^] [ответить] [смотреть все]
  • +/
    Тогда не будет номеров строчек, локальных переменных. Причину падения (номер сигнала и адрес) - покажут.
     
  • 1.4, Anton, 12:24, 07/01/2006 [ответить] [смотреть все]  
  • +/
    А сразу сказать:

    $ gdb <prog> core

    не по-пацански?

     
  • 1.6, Пруль, 12:14, 22/03/2008 [ответить] [смотреть все]  
  • +/
    Лично мне ламеру эта страничка помогла :)
     
  • 1.7, CtrlD, 18:35, 06/08/2008 [ответить] [смотреть все]  
  • +/
    Спасибо - информация помогла по-быстрому посмотреть причину падения.
     
  • 1.9, avalon, 06:58, 04/03/2010 [ответить] [смотреть все]  
  • +/
    Спасибо, помогло. :)
     
     
  • 2.10, анонимус, 15:45, 12/08/2010 [^] [ответить] [смотреть все]  
  • +/
    > Спасибо, помогло. :)

    +1

     
  • 1.11, аногнимус, 19:39, 15/12/2012 [ответить] [смотреть все]  
  • +/
    Спасибо! Быстро, просто и информативно. Помог найти то, что нужно за одну минуту поиска.
     
  • 1.12, Константин, 20:37, 22/04/2014 [ответить] [смотреть все]  
  • +/
    Спасибо , помогло !
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor