프로젝트의 암 디버그 환경을 설정하려고합니다. 프로젝트에 필요한 기본 코드 기능 중 하나는 이진 파일을 메모리 (6MB)에로드하는 것입니다.Qemu-Arm 파일 액세스?
나는 우분투 리눅스 12.04에 qemu-arm을 설치했고, 목표가 컴파일 된 GDB를 컴파일했다.
이#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <stdint.h>
int main()
{
int fd = open("files/test.txt", O_RDONLY);
printf("File handle: %i ", fd);
perror(NULL);
return 0
}
명령 행 :
arm-linux-gnueabihf-gcc -static -no-stack-protector -g test.c -o test;qemu-arm ./test
출력 :이 파일을 찾을 수 없습니다처럼
File handle: -1 No such file or directory
가 보인다, 나는이 믿을 나는 다음 테스트 코드를 컴파일을 시도하고있다 QEMU에 대한 액세스 권한이 없기 때문에 ... QEMU에 익숙하지는 않지만 가상 머신에 대한 이전 경험을 감안할 때 이것이 맞을 것 같아요.
아무도이 문제를 해결할 수 있습니까?
편집 : 와우, 해결했는데 코드에 오타가 있었고 파일 경로가 잘못되었습니다. 지금 해결 ... 방금 닫아야합니까? 내 질문은 무의미한 오타 였기 때문에 무효입니다. 오타가 게시 된 코드에 없습니다. 당신이 오타를 수정하여 문제에 대한 해결책을 발견하지만
당신은'errno'를 쿼리하지 않고 프로그램이 파일을 열지 못하게하는 것을 보지 않으십니까? 'fd = open (...'line. –
) 바로 다음에'perror (NULL);'를 써라. 잠시 후에 시도하고 편집 할 것이고, 나의 C 코드는 매우 약하다. – codelion