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 [ответить] [смотреть все]    [к модератору]  
  • +/
    Спасибо , помогло !
     
  • 1.13, Ahmed, 20:02, 04/01/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    Spasibo, pomoglo.
    Ahmed
     

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



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