LMDBG

Screenshot Software:
LMDBG
Mga detalye ng Software:
Bersyon: 1.2.0
I-upload ang petsa: 20 Feb 15
Nag-develop: Aleksey Cheusov
Lisensya: Libre
Katanyagan: 16

Rating: nan/5 (Total Votes: 0)

LMDBG ay isang application na nagpapahintulot ng pag-detect memory leaksand double pinakakawalan nito isang & nbsp;. Gayunpaman, hindi tulad ng iba, ay bumubuo sa LMDBG * FULL * stacktracesand naghihiwalay mula sa pag-log sa pagtatasa thusallowing upang pag-aralan ang isang application sa bawat module batayan.
- lmdbg-run ay isang pangunahing utility lmdbg. Ito ay nagpapatakbo ng isang application at lumilikha ng isang file ng talaan (o fifo) kung saan ang lahat ng mga tinatawag malloc / calloc / realloc / libre / memalign / posix_memalign invocation ay nakarehistro sa kanilang mga input (ang bilang ng mga byte, pointer), output (pointer) at (!!! kapares Ang tampok na !!!) FULL stacktrace (payo).
Halimbawa:
& Nbsp; & nbsp; & nbsp; & nbsp; Mga pagsubok na $ pusa / test2.c
& Nbsp; & nbsp; & nbsp; & nbsp; #include
& Nbsp; & nbsp; & nbsp; & nbsp; int pangunahing ()
& Nbsp; & nbsp; & nbsp; & nbsp; {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; walang bisa * p1 = null;
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; walang bisa * P2 = null;
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; p1 = malloc (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; bumalik 0;
& Nbsp; & nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; & nbsp; $ GCC -O0 -g -o _test2 pagsubok na A / test2.c
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg-run -o _log ./_test2
& Nbsp; & nbsp; & nbsp; & nbsp; $ Pusa _log
& Nbsp; & nbsp; & nbsp; & nbsp; malloc (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; $
TANDAAN: Buong stacktrace ay nagbibigay-daan sa iyo upang pag-aralan ang iyong application, ibig sabihin, maaari mong makita ang kung ano ang nangangailangan ng mga bloke / bahagi ng higit pang memory kaysa sa iba at kung bakit. lmdbg-sym ay isang napakahalaga na tool para sa ito, tingnan sa ibaba.
- lmdbg-paglabas Sinusuri ng isang log file na binuo ng lmdbg-run at output lahat natagpuan paglabas memory
Halimbawa:
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg-paglabas _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; malloc (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-sym Kino-convert ng mga address sa source.c: 999 kung ito ay posible
Halimbawa (gdb (1) ay nasa pagkilos):
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg-sym ./_test2 _log
& Nbsp; & nbsp; & nbsp; & nbsp; malloc (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; pagsubok na A / test2.c: 8 pangunahing
& 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; pagsubok na A / test2.c: 9 pangunahing
& 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; pagsubok na A / test2.c: 10 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; pangunahin
& 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; pagsubok na A / test2.c: 11 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; pangunahin
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $
Halimbawa (addr2line (1) gumagana dito):
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg-sym -a ./_test2 _log
& Nbsp; & nbsp; & nbsp; & nbsp; malloc (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; pagsubok na A / 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; pagsubok na A / 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; pagsubok na A / 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; pagsubok na A / test2.c: 11
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $
- lmdbg-sysleaks - greps o skips sistema paglabas memory na natagpuan sa libc, libdl, C ++ stl atbp Tingnan ang pagsubok na A / lmdbg * .conf mga file. Ang mga file default config ay: ~ / .lmdbg.conf at /etc/lmdbg.conf
- lmdbg = lmdbg-run + lmdbg-paglabas + lmdbg-sym + lmdbg-sysleaks
Iyon ay lmdbg ay all-in-one mas mataas na antas ng tool.
Halimbawa:
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg -v -o _log ./_test2
& Nbsp; & nbsp; & nbsp; & nbsp; Paglabas Memory ay nakita at na-save upang maghain '_log'
& Nbsp; & nbsp; & nbsp; & nbsp; $ Pusa _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; pagsubok na A / test2.c: 11 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; pangunahin
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; malloc (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; pagsubok na A / test2.c: 8 pangunahing
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $

Ano ang bagong sa paglabas:

  • lmdbg-sym hindi na segfaults dahil sa mga problema sa stacktrace (3).
  • Ang isang magkano ang mas simple at tamang paraan ng conversion address ay idinagdag.
  • May mga makabuluhang speedups dahil sa pag-optimize para sa gdb.
  • Sa lmdbg-run, glibc malloc Hooks ay hindi na ginagamit.
  • sariling code lmdbg ay hindi kasama sa stacktraces.
  • Isang bagong -N pagpipilian ay naidagdag, at natanggap ang -v pagpipiliang isang menor-aayos.
  • lmdbg-naaayos na istatistika Natanggap pag-aayos para sa isang null dereference na lumitaw kung ang isang libreng (3) o realloc (3) stacktrace ay walang isang naaangkop na malloc / realloc (3) stacktrace.
  • May mga iba pang mga menor de edad pag-aayos at pagpapabuti, pagpapabuti sa mga pagsubok pagbabalik, at pagpapabuti sa stacktrace (3).

Ano ang bagong sa bersyon 1.1.0:.

  • Ang isang pag-aayos sa mga pagsubok pagbabalik
  • lmdbg-run: zero address ay inalis mula stacktraces na binuo ng backtrace glibc ng (3)
  • .
  • Inaayos na ito ihinahayag sa lmdbg-naaayos na istatistika (1).
  • Double & quot; 0x & quot; Mga isyu sa & quot; seksyon & quot impormasyon; ay naayos na (nakikita sa NetBSD).
  • backtrace (3) mula sa libexecinfo (kung magagamit) ay ginamit sa halip na ang built-in na pagpapatupad.
  • lmdbg-sym:. Ilang mga bug ay naayos na sa conversion ng address sa simbolo
  • lmdbg-naaayos na istatistika: incompletely basahin ang mga linya ay binalewala ngayon, kaya wala nang igiit (3) s kapag ang isang application pag-debug ay pinatay
  • .
  • Ang isang alternatibong pagpapatupad nakasulat sa awk ay tinanggal.

Ano ang bagong sa bersyon 0.17.0:

  • Ang bersyon na ito ay nagdadagdag ng maraming mga pagpapabuti at pag-aayos sa manu-manong mga pahina, mga bagong kakayahan sa lmdbg, lmdbg-run, at lmdbg-sym, at menor de edad pag-aayos sa lmdbg-naaayos na istatistika.
  • lmdbg ay isa na ngayong meta tool na magagawa sa marami pang mga bagay, hindi lang mahanap ang memorya paglabas.

Ano ang bagong sa bersyon 0.15.1:

  • Pag-log ng calloc (3) invocation ay hindi pinagana noong -based glibc system (Linux, GNU / kFreeBSD, at marahil iba pa) dahil lmdbg-run nabigo sa mga ito.
  • Maliliit na malinis-up, pag-aayos, at pagpapabuti. MK-configure & gt;. = 0.20 ay kinakailangan para sa gusali

Ano ang bagong sa bersyon 0.14.0:

  • Bagong mga tool: lmdbg-naaayos na istatistika, lmdbg-grep at lmdbg-uri-uriin para sa pagkolekta at pagtatasa statistical impormasyon tungkol sa memory paglalaan.
  • lmdbg-run: mga bagong pagpipilian para sa lmdbg-run:. -S At -M para sa pagbuo ng pinaikling stacktraces
  • lmdbg-sym:. Bagong pagpipilian -p para sa pagkuha ng pangalan ng program mula sa output lmdbg-run na
  • pag-aayos: 'mkcmake pagsubok' Inaalis nito pansamantalang mga file
  • .

Katulad na software

ngrep
ngrep

2 Jun 15

ltrace
ltrace

20 Feb 15

Clint
Clint

2 Jun 15

Iba pang mga software developer ng Aleksey Cheusov

mk-configure
mk-configure

20 Feb 15

paexec
paexec

20 Feb 15

runawk
runawk

19 Feb 15

DictEm
DictEm

20 Feb 15

Mga komento sa LMDBG

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!