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

ipdbplugin
ipdbplugin

11 May 15

exude
exude

20 Feb 15

VimPdb
VimPdb

11 May 15

Iba pang mga software developer ng Aleksey Cheusov

runawk
runawk

19 Feb 15

mk-configure
mk-configure

20 Feb 15

paexec
paexec

20 Feb 15

Mga komento sa LMDBG

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