LMDBG

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

Rating: nan/5 (Total Votes: 0)

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

Frosted
Frosted

17 Feb 15

exude
exude

20 Feb 15

mpatrol
mpatrol

3 Jun 15

Perangkat lunak lain dari pengembang Aleksey Cheusov

mk-configure
mk-configure

20 Feb 15

runawk
runawk

19 Feb 15

DictEm
DictEm

20 Feb 15

Komentar untuk LMDBG

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!