LMDBG

소프트웨어 스크린 샷:
LMDBG
소프트웨어 정보:
버전: 1.2.0
업로드 날짜: 20 Feb 15
개발자: Aleksey Cheusov
라이센스: 무료
인기: 16

Rating: nan/5 (Total Votes: 0)

그러나, 다른 사람과는 달리, LMDBG은 * 전체 * stacktracesand가 당 모듈 기초에서 응용 프로그램을 분석하는 분석 thusallowing에서 로그인 분리한다 생성한다.

LMDBG 메모리 leaksand 두 번 자유로 & NBSP을 검출 할 수 있도록하는 응용 프로그램입니다.
- lmdbg-실행은 주요 lmdbg 유틸리티입니다. 이 응용 프로그램을 실행하고 로그 파일을 만듭니다 (또는 FIFO) 여기서 모든 호출의 malloc /은 calloc / realloc을 / 무료 / memalign / posix_memalign 호출 자신의 입력에 등록 된 (바이트 카운트, 포인터), 출력 (포인터)와 (! 유니크 기능!) FULL 스택 트레이스 (포인터).
예 :
& NBSP; & NBSP; & nbsp; & nbsp; 확인 $ 고양이 테스트 / test2.c
& NBSP; & NBSP; & nbsp; & nbsp; 확인 사용법 #include
& NBSP; & NBSP; & nbsp; & nbsp; 확인 ) (주 int로
& NBSP; & NBSP; & nbsp; & nbsp; 확인 {
& NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 무효 * P1 = NULL;
& NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 무효 * 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; 확인 0을 반환;
& NBSP; & NBSP; & nbsp; & nbsp; 확인 }
& NBSP; & NBSP; & nbsp; & nbsp; 확인 $ gcc가 -O0 -g -o _test2 테스트 / test2.c
& NBSP; & NBSP; & nbsp; & nbsp; 확인 $ lmdbg 운영하는 -o _log ./_test2
& NBSP; & NBSP; & nbsp; & nbsp; 확인 $ 고양이 _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; 확인 $
참고 : 전체 스택 트레이스, 당신은 응용 프로그램을 분석 할 수는 블록 / 구성 요소가 다른 이유보다 더 많은 메모리를 필요로 무엇을 검색 할 수 있습니다 즉. lmdbg - SYM이 매우 중요한 도구이며, 아래를 참조하십시오.
- lmdbg-누출 lmdbg - 실행 및 출력 발견 된 모든 메모리 누수에 의해 생성 된 로그 파일을 분석
예 :
& NBSP; & NBSP; & nbsp; & nbsp; 확인 $ lmdbg-누출 _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은 source.c에 주소를 변환 : 999 가능한 경우
예 (GDB는 (1) 액션에) :
& 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; 확인 테스트 / 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; 확인 테스트 / 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; 확인 테스트 / test2.c : 10 & NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 주요
& 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; 확인 테스트 / test2.c : 11 & NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 주요
& NBSP; & NBSP; & NBSP; & nbsp; & nbsp; 확인 0x8048584
& NBSP; & NBSP; & NBSP; & nbsp; & nbsp; 확인 0x80484e7
& NBSP; & NBSP; & nbsp; & nbsp; 확인 $
예 (은 addr2line (1) 여기서 일) :
& 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; 확인 테스트 / 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; 확인 테스트 / 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; 확인 테스트 / 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; 확인 테스트 / test2.c : 11
& NBSP; & NBSP; & NBSP; & nbsp; & nbsp; 확인 0x8048584
& NBSP; & NBSP; & NBSP; & nbsp; & nbsp; 확인 0x80484e7
& NBSP; & NBSP; & nbsp; & nbsp; 확인 $
- lmdbg-sysleaks - greps 또는 건너 뛰기 시스템 메모리 누수는 C ++ STL 등의 libc, libdl, 테스트 / lmdbg *의 .conf 파일을 참조하십시오에서 발견. 기본 설정 파일은 다음과 같습니다 ~ / .lmdbg.conf 및 /etc/lmdbg.conf
- lmdbg = lmdbg - 실행 + lmdbg-누출 + lmdbg-SYM + lmdbg-sysleaks
즉 lmdbg 모든 -에 - 하나의 높은 수준의 도구입니다.
예 :
& NBSP; & NBSP; & nbsp; & nbsp; 확인 $ lmdbg -v -o _log ./_test2
& NBSP; & NBSP; & nbsp; & nbsp; 확인 메모리 누수가 파일을 검출하고 저장된 '_log'
& NBSP; & NBSP; & nbsp; & nbsp; 확인 $ 고양이 _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; 확인 테스트 / test2.c : 11 & NBSP; & NBSP; & nbsp; & nbsp; 확인 & NBSP; & nbsp; & nbsp; 확인 주요
& 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; 확인 테스트 / test2.c : 8 주
& NBSP; & NBSP; & NBSP; & nbsp; & nbsp; 확인 0x8048584
& NBSP; & NBSP; & NBSP; & nbsp; & nbsp; 확인 0x80484e7
& NBSP; & NBSP; & nbsp; & nbsp; 확인 $

이 릴리스의 새로운 기능입니다 :

이 lmdbg-SYM 더 이상 세그먼테이션 폴트 (segfault)로 인해 스택 트레이스와 문제 (3).
훨씬 더 간단하고 정확한 주소 변환 방법을 첨가 하였다.
때문에 GDB에 대한 최적화에 상당한 속도 향상이 있었다.
lmdbg - 실행에서 GLIBC의 malloc에​​ 후크가 더 이상 사용되지 않습니다.
lmdbg 자신의 코드가 스택 추적에 포함되지 않습니다.
새로운 -N 옵션을 첨가하고, -v 옵션 사소한 수정을 받았다.
lmdbg-STAT는 무료 (3)과 realloc (3) 스택 트레이스가 적절한의 malloc / realloc을 (3) 스택 트레이스 선수 경우 등장 NULL 역 참조에 대한 수정을 받았다.
다른 작은 수정 및 개선, 회귀 테스트의 개선, 그리고 스택 트레이스 (3)의 개선이 있었다.

1.1.0 버전의 새로운 기능 : 회귀 테스트에서

이 수정.
lmdbg - 실행 : 제로 주소의 glibc의 가방 (3)에 의해 생성 된 스택 추적에서 제거됩니다.
이 수정은 lmdbg-STAT (1)에서 주장한다.
더블 & quot; 0x로 & quot; 정보 섹션 명세서 및 첨부 된 청구의 범위에서 quot의 문제; 고정 된 (NetBSD의 볼).
역 추적 (3) libexecinfo에서 (사용 가능한 경우) 대신 내장 구현 사용됩니다.
lmdbg-SYM : 몇 가지 버그가 심볼 주소 변환에서 수정되었습니다.
lmdbg-STAT는 : 불완전 읽기 라인은 지금 무시, 그래서 더 이상 거기에 디버깅중인 응용 프로그램이 살해 될 때 (3)이야 주장한다.
AWK 작성된 다른 구현을 제거 하였다.

이 버전 0.17.0의 새로운 기능 :

이 버전은 개선 및 수정 사항 매뉴얼 페이지에서, lmdbg의 새로운 기능, lmdbg-실행하고 lmdbg - SYM 많이 추가 사소한 수정 lmdbg-STAT을합니다.
lmdbg 지금 바로 메모리 누수를 찾을 수 없습니다, 더 많은 일을 할 수있는 메타 도구입니다.

이 버전 0.15.1의 새로운 기능 :

은 calloc의 로깅 (3) 호출이 glibc에 기반 시스템 (리눅스, GNU / kFreeBSD, 아마 등)로 인해 비활성화되어 lmdbg - 빨리 그들에 실패합니다.
마이너 클린 업, 수정 및 개선. MK-구성된다 = 0.20 구축이 필요합니다.

이 버전 0.14.0의 새로운 기능 :

이 새로운 도구 : lmdbg-STAT, lmdbg-그렙 및 수집 및 메모리 할당에 대한 통계 정보를 분석 lmdbg-종류.
lmdbg - 실행 : 단축 스택 추적을 생성 -S와 -M : 새로운 lmdbg - 실행 옵션.
lmdbg-SYM : lmdbg - 실행의 출력에서​​ 프로그램 이름을 얻기위한 새로운 옵션 -p.
해결 : 'mkcmake 테스트는'임시 파일을 제거합니다.

유사한 소프트웨어

rpdb
rpdb

14 Apr 15

PyChecker
PyChecker

11 May 15

YARI
YARI

12 May 15

개발자의 기타 소프트웨어 Aleksey Cheusov

runawk
runawk

19 Feb 15

mk-configure
mk-configure

20 Feb 15

paexec
paexec

20 Feb 15

코멘트 LMDBG

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!