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:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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