답변
gdb -ex run ./a.out
인수를 전달해야하는 경우 a.out
:
gdb -ex run --args ./a.out arg1 arg2 ...
편집 :
Orion 은 이것이 Mac OSX에서 작동하지 않는다고 말합니다.
이 -ex
플래그는 GDB-6.4
2005 년에 출시 된 이후로 사용 가능 했지만 OSX는 Apple의 GDB 포크를 사용하고 Leopard 용 최신 XCode에는이 포함되어 GDB 6.3.50-20050815 (Apple version gdb-967)
있으므로 운이 좋지 않습니다.
현재 GDB-7.0.1
릴리스를 빌드하는 것이 가능한 솔루션 중 하나입니다. 그냥 읽으십시오 이 .
답변
gdb 스크립트를 사용합니다.
gdb -x your-script
여기서 당신의 스크립트가 같은 것을 포함
file a.out
b main
r
나중에 일반 대화식 gdb 프롬프트가 표시됩니다.
수정 :
다음은 진정으로 게으른 사용자를위한 최적화입니다.
- 로 스크립트를 저장
.gdbinit
에서working directory
. -
나중에 gdb를 다음과 같이 실행하면됩니다.
gdb
… 그리고 gdb는 .gdbinit의 내용을 자동으로로드하고 실행합니다.
답변
(echo r ; cat) | gdb a.out
cat을 사용하면 gdb가 중단 된 후에도 계속 입력 할 수 있습니다.
답변
start
명령
이 명령은 또 다른 좋은 옵션입니다.
gdb -ex start --args ./a.out arg1 arg2
실행과 같지만 임시 중단 점을 설정하고 main
거기 에서 중지합니다.
이 임시 중단 점이 적중되면 비활성화됩니다.
starti
starti
프로그램을 시작하고 대신 첫 번째 명령어에서 중지 하는 관련 항목도 있습니다. 참조 : GDB의 첫 번째 기계 코드 명령어에서 중지
낮은 수준의 작업을 할 때 좋습니다.
답변
gdb -x <(echo run) --args $program $args
답변
