2017-11-18 4 views
2

저는 gdb (또는 cgdb)를 실행하고 있지만 디버깅 중에는 표준 데이터에서 일부 데이터를 가져와야합니다. 그래서 gdb에서 디버깅하는 동안 프로그램에 입력으로 텍스트 나 숫자를 삽입 할 수 있습니까?gdb를 사용하여 디버깅하는 동안 stdin에서 읽는 방법은 무엇입니까?

미리 감사드립니다. 당신은 쉘에서 그 일을한다면

+0

이미 프로그램을 실행하기 위해 첨부 할 수 있습니까? – ks1322

+0

gdb를 실행하지 않았다면 어떻게합니까? 아마도 gdb를 사용하여 비슷하지는 않지만 비슷한 것을 할 수 있습니다. –

+0

예를 들어 'scanf'를 사용하면 프로그램을 디버깅하려고하는데 특정 순간에 stdin에서 일부 데이터가 예상됩니다. 그래서 scanf 라인을 넘어서 뭔가를 입력하면 디버깅을 계속할 수 없습니다. – Banish

답변

1

이처럼 할 거라고 :

gdb myprogram 
gdb> run params ... < input.txt 
+0

그리고 txt 파일에 미리 보관하지 않고 데이터를 입력하려면 어떻게해야합니까? – Banish

+0

@Banish,'stdin'을 읽기 위해서'scanf','fgets' 또는 프로그램에서 원하는 어떤 방법을 사용하기 위해서'gdb'에서 특별한 것을 사용할 필요가 없습니다. –

관련 문제