저는 과학적인 리눅스를 사용하고 있습니다. 여러 개의 cpp 파일을 사용하는 프로젝트를 컴파일하려고 합니다. 이제 성공적으로 컴파일되었지만 내가 얻은 값/데이터는 확실히 잘못된 것입니다.
해당 디렉토리에서 user/project/Build
모든 cpp 파일을 컴파일하고 링크하기 위해 make를 입력했습니다. 그럼 가서 user/run/
타자쳐야 지./run.sh values.txt
디렉터리로 이동 /user/project/Build/bin
한 다음 gdb project
중단점을 입력하고 설정하면 문제가 없습니다. 그런데 달리다 보면 맨날 보이죠 Program exited with code 01
. main.cpp 또는 다른 소스 파일에 중단점을 설정하는지 여부는 중요하지 않습니다. gdb가 중단점에서 멈춰야 하지 않나요?
답변1
이 트릭을 사용할 수 있을 것 같아요.
종료 시 중단점을 설정합니다.
데이터 베이스..
B출구
달리기..
비티
이렇게 하면 main이 종료 기능을 호출하는 위치를 알 수 있습니다.
답변2
user/run/run.sh
아마도 (이름이 주어지면) 프로그램을 실행하는 데 필요한 것을 설정하는 쉘 스크립트일 것입니다. 가능한 것은 환경 변수를 설정하고 명령줄 인수를 전달하는 것입니다. GDB에서 환경 변수와 명령줄 인수를 설정하려면 다음을 사용하세요.
set args = arg1 arg2
set env VAR1 = value1
set env VAR2 = value2
실제로 무엇을 하는지 이해하려면 쉘 스크립트를 읽어보세요.