2011-08-19 2 views
2

내부 덤프 명령의 출력을 grep과 같은 쉘 명령으로 파이프하는 방법이 있습니까? mdb[cmd] ! grep의 변형이 있습니까?gdb - 쉘 명령에 내부 명령의 파이프 출력

더 명확하게하려면 : 솔라리스 mdb에서 할 수 있습니다.

main::dis ! grep call 

메인에서 호출되는 함수 탐지 (또는 변경하는 방법을보고 몇 가지 레지스터 이름을 grep으로)을 작성합니다. gdb에서 전환 할 필요가 없다면 gdb에서 그렇게 할 가능성이 있다면 관심이 있습니다.

+1

은 아마 새 명령을 정의하는 파이썬 스크립트로 찾기 시작하는 시간이다 : http://stackoverflow.com/questions/4060565/how-to-script-gdb-with-python-example-add- breakpoints-run-what-breakpoint-d :-) –

답변

4

질문을 올바르게 이해했는지 확실하지 않습니다. 디버그 세션 중에 실행 한 GDB 명령의 로그 결과를 원할 경우 예 (Yes)에는 GDB에서이를 지원합니다.

show logging     # displays weather logging is on/off 
set logging on     # enable logging 
set logging off     # disable logging 
set logging file log-file.txt # set name for log file, default is gdb.txt 

로그 파일이 현재 디렉토리에 생성됩니다.

또한 당신은 디버그 세션의 로그를 추가하거나, 즉 파이프를 도입되었습니다

set logging overwrite <on/off> 
+0

답장을 보내 주셔서 감사합니다. 로깅은 내가 찾고있는 것과 정확히 일치하지 않습니다. Solaris mdb에는 예를 들어 다음과 같이 작성할 수 있습니다. 'main :: dis! grep call '을 호출하면 디버거가 disasembly 결과에 grep을 호출합니다. gdb에서 greas 명령을 사용하여 비슷한 결과를 얻으려고합니다 (또는 less 명령으로 보내십시오). 예 : objdump하고 그 결과를 grep하거나 언급 한 로깅 파일의 출력을 얻지 만, gdb 내부에서 수행하는 방법이 있다면 흥미 롭습니다. – Michy

+1

페이지 매김을 해제하는 것을 잊지 마라 .... logging/shell 명령은 현재이를 수행 할 수있는 유일한 방법이다. gdb.txt 셸 grep 호출 gdb.txt, 누군가가 파이프 명령을 작업하고 있습니다.이 명령은 더 직선적이 될 수 있습니다. – matt

-1

새로운 GDB 명령을 사용하여 모든 디버그 세션에 새로운 만들 수 있습니다. 셸 명령이나 스크립트를 사용하여 GDB 명령의 출력을 처리하려는 경우이 새 명령을 사용하여 수행 할 수 있습니다.

http://www.gdbenhanced.freewebsitehosting.com/

+0

정보를 제공해 주셔서 감사합니다. 그것은 정확히 내가 누락 된 것입니다. 조만간 공식 출시 될 예정입니다. – Michy

+5

감사합니다 링크가 다운되었습니다 ... – sillyMunky

관련 문제