LMDBG

Phần mềm chụp màn hình:
LMDBG
Các chi tiết về phần mềm:
Phiên bản: 1.2.0
Ngày tải lên: 20 Feb 15
Nhà phát triển: Aleksey Cheusov
Giấy phép: Miễn phí
Phổ biến: 16

Rating: nan/5 (Total Votes: 0)

LMDBG là một ứng dụng cho phép phát hiện bộ nhớ leaksand giải phóng đôi & nbsp;. Tuy nhiên, không giống như những người khác, tạo ra LMDBG * đầy * stacktracesand phân cách đăng nhập từ phân tích thusallowing để phân tích một ứng dụng trên cơ sở mỗi module.
- lmdbg chạy là một tiện ích lmdbg chính. Nó chạy một ứng dụng và tạo ra một tập tin nhật ký (hoặc FIFO), nơi tất cả gọi malloc / calloc / realloc / miễn phí / memalign / lời gọi posix_memalign được đăng ký với đầu vào của họ (byte đếm, con trỏ), đầu ra (con trỏ) và (!!! uniques Tính năng !!!) ĐẦY ĐỦ stacktrace (con trỏ).
Ví dụ:
& Nbsp; & nbsp; & nbsp; & nbsp; Kiểm tra $ 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 xét nghiệm / 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; $
Lưu ý: Full stacktrace cho phép bạn phân tích ứng dụng của bạn, nghĩa là bạn có thể phát hiện những khối / thành phần đòi hỏi nhiều bộ nhớ hơn những người khác và tại sao. lmdbg-sym là một công cụ rất quan trọng cho việc này, xem dưới đây.
- lmdbg-rò rỉ phân tích một file log được tạo ra bởi lmdbg-run và đầu ra tất cả các rò rỉ bộ nhớ chỉ có
Ví dụ:
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg-rò rỉ _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 chuyển đổi địa chỉ để source.c: 999 nếu có thể
Ví dụ (gdb (1) là trong hành động):
& 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; kiểm tra / test2.c: 8 chính
& 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; kiểm tra / test2.c: 9 chính
& 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; kiểm tra / test2.c: 10 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; chủ yếu
& 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; kiểm tra / test2.c: 11 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; chủ yếu
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $
Ví dụ (addr2line (1) làm việc ở đây):
& 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; kiểm tra / 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; kiểm tra / 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; kiểm tra / 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; kiểm tra / test2.c: 11
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $
- lmdbg-sysleaks - greps hoặc bỏ qua hệ thống phát hiện rò rỉ bộ nhớ trong libc, libdl, C ++ stl vv Xem xét nghiệm / lmdbg * conf file. Các tập tin cấu hình mặc định là: ~ / .lmdbg.conf và /etc/lmdbg.conf
- lmdbg = lmdbg-run + lmdbg-rò rỉ + lmdbg-sym + lmdbg-sysleaks
Đó là lmdbg là tất cả-trong-một công cụ cấp cao hơn.
Ví dụ:
& Nbsp; & nbsp; & nbsp; & nbsp; $ Lmdbg -v -o _log ./_test2
& Nbsp; & nbsp; & nbsp; & nbsp; Rò rỉ bộ nhớ đã được phát hiện và lưu vào 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; kiểm tra / test2.c: 11 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; chủ yếu
& 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; kiểm tra / test2.c: 8 chính
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x8048584
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 0x80484e7
& Nbsp; & nbsp; & nbsp; & nbsp; $

là gì mới trong phiên bản này:

  • lmdbg-sym không còn segfaults do vấn đề với stacktrace (3).
  • Một phương pháp chuyển đổi địa chỉ đơn giản hơn nhiều và chính xác đã được thêm vào.
  • Có sự tăng tốc đáng kể do tối ưu hóa cho gdb.
  • Trong lmdbg-run, glibc malloc móc không còn được sử dụng.
  • mã riêng của lmdbg không được bao gồm trong stacktraces.
  • Một tùy chọn -N mới đã được bổ sung, và các tùy chọn -v nhận được một sửa chữa nhỏ.
  • lmdbg-stat nhận được các bản sửa lỗi cho một dereference NULL xuất hiện nếu một miễn phí (3) hoặc realloc (3) stacktrace là không thích hợp một malloc / realloc (3) stacktrace.
  • Có những bản sửa lỗi khác nhỏ và cải tiến, cải tiến trong các bài kiểm tra hồi quy, và cải tiến trong stacktrace (3).

là gì mới trong phiên bản 1.1.0:.

  • Một sửa chữa trong các bài kiểm tra hồi quy
  • lmdbg-run: zero địa chỉ được lấy ra từ stacktraces tạo ra bởi vết lùi glibc của (3)
  • .
  • Điều này khẳng định các bản sửa lỗi trong lmdbg-stat (1).
  • Double & quot; 0x & quot; vấn đề trong & quot; thông tin phần & quot; được cố định (nhìn thấy trên NetBSD).
  • lùi (3) từ libexecinfo (nếu có) được sử dụng thay cho
  • tích trong việc thực hiện.
  • lmdbg-sym:. Một vài lỗi đã được cố định trong việc chuyển đổi các địa chỉ cho các biểu tượng
  • lmdbg-stat: không đầy đủ đọc dòng hiện đang bị bỏ qua, vì vậy không có nhiều khẳng định (3) là khi một ứng dụng đang được gỡ rối bị giết
  • .
  • An thực hiện thay thế bằng văn bản trong awk đã được gỡ bỏ.

là gì mới trong phiên bản 0.17.0:

  • Phiên bản này bổ sung thêm rất nhiều cải tiến và sửa lỗi trong trang sử dụng, khả năng mới trong lmdbg, lmdbg-run, và lmdbg-sym, và sửa chữa nhỏ để lmdbg-stat.
  • lmdbg bây giờ là một công cụ meta mà có thể làm được nhiều điều hơn, không chỉ tìm chỗ rò rỉ bộ nhớ.

là gì mới trong phiên bản 0.15.1:

  • Logging của calloc (3) lời gọi được vô hiệu hóa trên hệ thống glibc-based (Linux, GNU / kFreeBSD, và có lẽ những người khác) vì lmdbg-run không vào chúng.
  • Tiểu clean-up, sửa lỗi, và cải tiến. mk-configure & gt;. = 0.20 là cần thiết để xây dựng

là gì mới trong phiên bản 0.14.0:

  • Các công cụ mới: lmdbg-stat, lmdbg-grep và lmdbg-sort để thu thập và phân tích thông tin thống kê về cấp phát bộ nhớ.
  • lmdbg-run: lựa chọn mới cho lmdbg-run:. -S -M Và để tạo ra stacktraces rút ngắn
  • lmdbg-sym:. Mới tùy chọn -p cho việc thu thập tên chương trình từ đầu ra lmdbg-run của
  • fix: 'test mkcmake' loại bỏ các tập tin tạm thời của nó
  • .

Phần mềm tương tự

ltrace
ltrace

20 Feb 15

Nemiver
Nemiver

17 Feb 15

interruptingcow
interruptingcow

14 Apr 15

mpatrol
mpatrol

3 Jun 15

Phần mềm khác của nhà phát triển Aleksey Cheusov

paexec
paexec

20 Feb 15

DictEm
DictEm

20 Feb 15

runawk
runawk

19 Feb 15

mk-configure
mk-configure

20 Feb 15

Ý kiến ​​để LMDBG

Bình luận không
Nhập bình luận
Bật hình ảnh!