LMDBG

Software screenshot:
LMDBG
Rincian Software:
Versi: 1.2.0
Tanggal Upload: 20 Feb 15
Pengembang: Aleksey Cheusov
Lisensi: Gratis
Popularitas: 68

Rating: 5.0/5 (Total Votes: 1)

LMDBG adalah sebuah aplikasi yang memungkinkan mendeteksi memori leaksand membebaskan ganda & nbsp;. Namun, tidak seperti orang lain, LMDBG menghasilkan * LENGKAP * stacktracesand memisahkan log dari analisis thusallowing untuk menganalisis sebuah aplikasi pada basis per-modul.
- lmdbg-run adalah utilitas lmdbg utama. Ini menjalankan aplikasi dan menciptakan sebuah file log (atau FIFO) di mana semua yang disebut malloc / calloc / realloc / gratis / memalign / doa posix_memalign terdaftar dengan masukan mereka (byte count, pointer), output (pointer) dan (!!! unik Fitur !!!) LENGKAP StackTrace (pointer).
Contoh:
& Nbsp; & nbsp; & nbsp; & nbsp; Tes $ cat / test2.c
& Nbsp; & nbsp; & nbsp; & nbsp; #include
& Nbsp; & nbsp; & nbsp; & nbsp; int main ()
& Nbsp; & nbsp; & nbsp; & nbsp; {
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; void * p1 = NULL;
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; void * 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; return 0;
& Nbsp; & nbsp; & nbsp; & nbsp; }
& Nbsp; & nbsp; & nbsp; & nbsp; $ Gcc -o -g O0 _test2 tes / test2.c
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg-run -o _log ./_test2
& Nbsp; & nbsp; & nbsp; & nbsp; $ Cat _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; $
CATATAN: stacktrace penuh memungkinkan Anda untuk menganalisis aplikasi Anda, yaitu Anda dapat mendeteksi blok / komponen memerlukan lebih banyak memori daripada yang lain dan mengapa. lmdbg-sym adalah alat yang sangat penting untuk ini, lihat di bawah.
- lmdbg-kebocoran analisis file log yang dihasilkan oleh lmdbg-run dan output semua kebocoran memori ditemukan
Contoh:
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg-kebocoran _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 mengkonversi alamat ke source.c: 999 jika mungkin
Contoh (gdb (1) adalah dalam tindakan):
& 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; tes / test2.c: 8 main
& 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; tes / test2.c: 9 main
& 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; tes / test2.c: 10 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; utama
& 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; tes / test2.c: 11 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; utama
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $
Contoh (addr2line (1) bekerja di sini):
& 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; tes / 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; tes / 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; tes / 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; tes / test2.c: 11
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $
- lmdbg-sysleaks - greps atau melompat sistem kebocoran memori ditemukan di libc, libdl, C ++ stl dll Lihat tes / lmdbg * .conf file. File-file konfigurasi default adalah: ~ / .lmdbg.conf dan /etc/lmdbg.conf
- lmdbg = lmdbg-run + lmdbg-kebocoran + lmdbg-sym + lmdbg-sysleaks
Itulah lmdbg adalah alat tingkat all-in-one yang lebih tinggi.
Contoh:
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg v -o _log ./_test2
& Nbsp; & nbsp; & nbsp; & nbsp; Kebocoran memori terdeteksi dan disimpan ke file '_log'
& Nbsp; & nbsp; & nbsp; & nbsp; $ Cat _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; tes / test2.c: 11 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; utama
& 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; tes / test2.c: 8 main
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $

Apa yang baru dalam rilis ini:

  • lmdbg-sym tidak lagi segfaults karena masalah dengan stacktrace (3).
  • Sebuah metode alamat konversi jauh lebih sederhana dan benar ditambahkan.
  • Ada pemercepat signifikan karena optimasi untuk gdb.
  • Dalam lmdbg-run, GLIBC malloc kait tidak lagi digunakan.
  • kode lmdbg sendiri tidak termasuk dalam stacktraces.
  • Sebuah opsi-N baru ditambahkan, dan pilihan-v menerima perbaikan kecil.
  • lmdbg-Stat menerima perbaikan untuk dereference NULL yang muncul jika gratis (3) atau realloc (3) stacktrace itu tanpa malloc yang sesuai / realloc (3) stacktrace.
  • Ada perbaikan lain kecil dan perbaikan, perbaikan dalam tes regresi, dan perbaikan dalam stacktrace (3).

Apa yang baru dalam versi 1.1.0:.

  • Perbaikan dalam tes regresi
  • lmdbg-run: zero alamat dikeluarkan dari stacktraces dihasilkan oleh backtrace glibc ini (3)
  • .
  • Ini perbaikan menegaskan dalam lmdbg-stat (1).
  • Double & quot; 0x & quot; masalah dalam & quot; informasi bagian & quot; yang tetap (terlihat pada NetBSD).
  • backtrace (3) dari libexecinfo (jika ada) digunakan sebagai pengganti built-in implementasi.
  • lmdbg-sym:. Beberapa bug yang diperbaiki dalam konversi alamat ke simbol
  • lmdbg-Stat: tidak lengkap membaca baris sekarang diabaikan, sehingga tidak ada lagi menegaskan (3) s saat aplikasi sedang debugged dibunuh
  • .
  • Sebuah implementasi alternatif yang ditulis dalam awk dihapus.

Apa yang baru dalam versi 0.17.0:

  • Versi ini menambahkan banyak perbaikan dan perbaikan di halaman manual, kemampuan baru dalam lmdbg, lmdbg-lari, dan lmdbg-sym, dan perbaikan kecil untuk lmdbg-Stat.
  • lmdbg sekarang menjadi alat meta yang mampu melakukan lebih banyak hal, tidak hanya menemukan kebocoran memori.

Apa yang baru dalam versi 0.15.1:

  • Logging dari calloc (3) doa dinonaktifkan pada Sistem glibc berbasis (Linux, GNU / kFreeBSD, dan mungkin orang lain) karena lmdbg-run gagal pada mereka.
  • Kecil bersih-up, perbaikan, dan perbaikan. mk-configure & gt;. = 0,20 diperlukan untuk membangun

Apa yang baru dalam versi 0.14.0:

  • alat baru: lmdbg-Stat, lmdbg-grep dan lmdbg-macam untuk mengumpulkan dan menganalisis informasi statistik tentang alokasi memori.
  • lmdbg-run: pilihan baru untuk lmdbg-run:. -S Dan -M untuk menghasilkan stacktraces dipersingkat
  • lmdbg-sym:. Opsi p baru untuk mendapatkan nama program dari output lmdbg-run yang
  • fix: 'mkcmake test' menghapus file-file sementara yang
  • .

Software yang serupa

termdebug
termdebug

20 Feb 15

gDEBugger
gDEBugger

2 Jun 15

Visual xsltproc
Visual xsltproc

2 Jun 15

Perangkat lunak lain dari pengembang Aleksey Cheusov

paexec
paexec

20 Feb 15

runawk
runawk

19 Feb 15

DictEm
DictEm

20 Feb 15

Komentar untuk LMDBG

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!