2012-10-22 2 views
0

gdb를 시작하고 직접 입력하고 싶지 않은 명령을 입력 할 수 있도록 쉘 스크립트를 작성하고 싶습니다. 어떻게해야합니까?gdb의 heredoc 스크립트 문제

아래의 heredoc을 시도했지만 작동하지 않습니다. 무엇이 잘못 되었습니까? 사전에

#! /bin/sh - 
gdb ./myexe << MYHEREDOC 
b xxx.c:1234 
commands 1 
printf "xxxxxxxx" 
continue 
end 
MYHEREDOC 

주셔서 감사합니다 친절하게 도움을 ~

+0

는 "작동하지 않습니다"당신이 말하는되지 않습니다 당신이 명령 파일을 사용 아마도 경우는 히어 닥를 사용하지 멀리 얻을 수 우리가 당신의 문제를 해결하는 데 도움이되는 어떤 것도 저희에게 보내주십시오. 어떻게 작동하지 않습니까? 스크립트를 실행하면 어떻게됩니까? –

+0

미안하지만, "작동하지 않는다"는 말은 gdb 프로세스에 머 무르지 않고 커맨드 라인으로 뛰어 드는 것을 의미합니다. 이 스크립트가 gdb 소프트웨어가 시작될 때 몇 가지 명령을 입력하는 데 도움이되고 싶습니다. – user1726366

+0

아. 그런 다음 @ gvalkov가 말했듯이 스크립트 파일을 사용하려고합니다. here-document는 프로그램의 입력을 문서의 내용으로 완전히 바꿉니다. 문서가 끝나면 마치 EOF를 보내기 위해 control-D를 누른 것처럼 처리가 끝납니다. –

답변

1

정말 작동합니다 (docs 참조).

commands.gdb : 당신이 말할 때

file ./myexe 
b xxx.c:1234 
commands 1 
printf "xxxxxxxx" 
continue 
end 
run 

$ gdb -x commands.gdb 
+0

위대한 팁, 고마워,이 시간을 많이 절약 할 수있어, 대단히 감사합니다 ~ – user1726366