LMDBG

Скріншот програми:
LMDBG
Дані програми:
Версія: 1.2.0
Дата завантаження: 20 Feb 15
Розробник: Aleksey Cheusov
Ліцензія: Безкоштовно
Популярність: 68

Rating: 3.5/5 (Total Votes: 2)

LMDBG є додаток, що дозволяє виявляти пам'ять leaksand подвійні FreeS & NBSP ;. Однак, на відміну від інших, LMDBG генерує * Повна * stacktracesand відокремлює реєстрації з аналізу thusallowing проаналізувати заявку на кожного модуля основі.
- <Сильний> lmdbg перспективі є основним утиліта lmdbg. Це запускає додаток і створює файл журналу (або FIFO), де всі називається Танос / calloc / Realloc / безкоштовно / memalign / posix_memalign виклики реєструються їх вклад (рахунок байта, покажчик), вихід (покажчик) і (!!! унікумів Функція !!!) FULL StackTrace (покажчики).
Приклад:
І NBSP; & NBSP; & NBSP; & NBSP; Тести $ CAT / test2.c
І NBSP; & NBSP; & NBSP; & NBSP; # Включати в себе
І NBSP; & NBSP; & NBSP; & NBSP; INT Main ()
І NBSP; & NBSP; & NBSP; & NBSP; {
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; недійсними * p1 = NULL;
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; недійсними * p2 = NULL;
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; p1 = Танос (555);
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; p2 = Realloc (P2, 666);
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; p2 = Realloc (P2, 777);
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; p2 = Realloc (P2, 888);
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; повернутися 0;
І NBSP; & NBSP; & NBSP; & NBSP; }
І NBSP; & NBSP; & NBSP; & NBSP; $ GCC -O0 -g -o _test2 тести / test2.c
І NBSP; & NBSP; & NBSP; & NBSP; $ Lmdbg перспективі -o _log ./_test2
І NBSP; & NBSP; & NBSP; & NBSP; $ Кот _log
І NBSP; & NBSP; & NBSP; & NBSP; Танос (555) -> 0xbb901400
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5b03
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048738
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; Realloc (NULL, 666) -> 0xbb901800
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5a37
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x804874e
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; Realloc (0xbb901800, 777) -> 0xbb901c00
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5a37
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048764
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; Realloc (0xbb901c00, 888) -> 0xbb901800
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5a37
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x804877a
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; $
ПРИМІТКА: Повний StackTrace дозволяє аналізувати вашу заявку, тобто ви можете виявити, що блоки / компоненти вимагають більше пам'яті, ніж інші, і чому. lmdbg-сім є дуже важливим інструментом для цього, дивіться нижче.
- lmdbg-витоку аналізує файл журналу, створений за lmdbg перспективі і виводити всі знайдені витоку пам'яті
Приклад:
І NBSP; & NBSP; & NBSP; & NBSP; $ Lmdbg-витоку _log і NBSP; & NBSP;
І NBSP; & NBSP; & NBSP; & NBSP; Realloc (0xbb901c00, 888) -> 0xbb901800
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5a37
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x804877a
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; Танос (555) -> 0xbb901400
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5b03
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048738
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; $
- <Сильний> lmdbg-сім перетворює адреси в source.c: 999, якщо це можливо
Приклад (GDB (1) в дії):
І NBSP; & NBSP; & NBSP; & NBSP; $ Lmdbg-сім ./_test2 _log
І NBSP; & NBSP; & NBSP; & NBSP; Танос (555) -> 0xbb901400
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5b03
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048738 & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Тести / test2.c: 8 основних
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; Realloc (NULL, 666) -> 0xbb901800
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5a37
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x804874e & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Тести / test2.c: 9 Основний
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; Realloc (0xbb901800, 777) -> 0xbb901c00
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5a37
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048764 & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Тести / test2.c: 10 & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; головний
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; Realloc (0xbb901c00, 888) -> 0xbb901800
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5a37
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x804877a & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Тести / test2.c: 11 & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; головний
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; $
Приклад (addr2line (1) працює тут):
І NBSP; & NBSP; & NBSP; & NBSP; $ Lmdbg-сім -a ./_test2 _log
І NBSP; & NBSP; & NBSP; & NBSP; Танос (555) -> 0xbb901400
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5b03
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048738 & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Тести / test2.c: 8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; Realloc (NULL, 666) -> 0xbb901800
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5a37
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x804874e & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Тести / test2.c: 9
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; Realloc (0xbb901800, 777) -> 0xbb901c00
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5a37
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048764 & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Тести / test2.c: 10
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; Realloc (0xbb901c00, 888) -> 0xbb901800
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5a37
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x804877a & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Тести / test2.c: 11
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; $
- lmdbg-sysleaks - відбирає або пропуск системи витоку пам'яті знаходиться в LIBC, libdl, C ++ STL і т.д. Див тести / lmdbg файлів конфігурації. Файлів, конфігурації за замовчуванням, є: ~ / .lmdbg.conf і /etc/lmdbg.conf
- lmdbg = lmdbg-Run + lmdbg-витоку + lmdbg-сім + lmdbg-sysleaks
Це lmdbg все-в-одному вище інструмент рівень.
Приклад:
І NBSP; & NBSP; & NBSP; & NBSP; $ Lmdbg -v -o _log ./_test2
І NBSP; & NBSP; & NBSP; & NBSP; Витоку пам'яті були виявлені і збережені в файл '_log "
І NBSP; & NBSP; & NBSP; & NBSP; $ Кот _log
І NBSP; & NBSP; & NBSP; & NBSP; Realloc (0xbb901c00, 888) -> 0xbb901800
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5a37
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x804877a & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Тести / test2.c: 11 & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; головний
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; Танос (555) -> 0xbb901400
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe58e8
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0xbbbe5b03
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048738 & NBSP; & NBSP; & NBSP; & NBSP; & NBSP; Тести / test2.c: 8 основних
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x8048584
І NBSP; & NBSP; & NBSP; & NBSP; & NBSP; 0x80484e7
І NBSP; & NBSP; & NBSP; & NBSP; $

Що нового У цьому випуску:

  • lmdbg-сім більше не повертає помилку сегментації через проблеми з StackTrace (3).
  • був доданий набагато простіше і правильний метод перетворення адреси.
  • Були значні прискорень через оптимізації для GDB.

  • не «LI> В lmdbg перспективі, GLibC Танос гачки більше не використовується.
  • власний код lmdbg не включений в stacktraces.
  • Новий -N опція була додана, і опція -v отримав незначні виправлення.
  • lmdbg статистика отримав виправлення для порожнього разименованія, яка з'явилася, якщо безкоштовно (3) або перерозподілити (3) StackTrace був без необхідності виділення пам'яті / Realloc (3) StackTrace.
  • Були інші незначні виправлення і поліпшення, удосконалення в регресійних тестів, а також поліпшення в StackTrace (3).

Що нового у версії 1.1.0 :.

  • Виправлена ​​помилка з регресійних тестів
  • lmdbg траса: нуль адреси видаляються з stacktraces породжених зворотного трасування GLibC в (3)
  • .
  • Це виправляє стверджує в lmdbg-Stat (1).
  • Двічі & Quot; 0x & Quot; питання в & Quot; розділі Інформація & Quot; були зафіксовані (видно на NetBSD).
  • трасування (3) libexecinfo (якщо є) використовується замість вбудованого в реалізації.
  • lmdbg-сім :. Кілька помилки були виправлені в перетворенні адрес для символів
  • lmdbg-Stat: повністю прочитати рядки тепер ігноруються, так не існує не більше стверджувати (3) • При додаток налагоджували убитий
  • .
  • Альтернативна реалізація написано в AWK був видалений.

Що нового у версії 0.17.0:

  • Ця версія додає безліч поліпшень і виправлень в сторінки керівництва, нові можливості в lmdbg, lmdbg перспективі, і lmdbg-сім, і дрібні виправлення в lmdbg-стат.
  • lmdbg зараз мета інструмент, який здатний зробити багато більше речей, а не просто знайти витоку пам'яті.

Що нового у версії 0.15.1:

  • Ведення журналу calloc (3) виклики відключена на Glibc системи на основі образів (Linux, GNU / kFreeBSD, і, можливо, інші), тому що lmdbg перспективі не буде працювати на них.
  • Невеликі чисті вікна, виправлення і поліпшення. MK-Налаштування-GT ;. = 0,20 потрібно для побудови

Що нового у версії 0.14.0:

  • Нові інструменти: lmdbg-статистика, lmdbg-Grep і lmdbg сортування для збору та аналізу статистичної інформації про розподіл пам'яті.
  • lmdbg траса: нові можливості для lmdbg перспективі :. -S І -M для створення укорочені stacktraces
  • lmdbg-сім :. Нова опція -p для отримання імені програми з виходом lmdbg перспективі в
  • Виправлена ​​помилка: 'mkcmake тест "видаляє тимчасові файли
  • .

Схожі програми

glibc-audit
glibc-audit

3 Jun 15

Clint
Clint

2 Jun 15

dprintf
dprintf

20 Feb 15

Fiddler for Mono
Fiddler for Mono

17 Feb 15

Інші програми розробника Aleksey Cheusov

paexec
paexec

20 Feb 15

runawk
runawk

19 Feb 15

DictEm
DictEm

20 Feb 15

LMDBG

Коментар не знайдено
додати коментар
Включіть картинки!