gdbserver를 사용한 원격 디버깅

gdbserver를 사용한 원격 디버깅

2일 동안 내 대상에서 gdbserver를 실행하는 데 문제가 있습니다. 누구든지 나를 올바른 방향으로 가리킬 수 있다면 매우 감사하겠습니다.

시나리오는 다음과 같습니다.

  • gdbserver를 사용하여 GNU/Linux x86_64를 실행하는 Targethost가 있지만 g++/gcc 컴파일러는 없습니다.
  • gdb를 사용하여 Windows 10 및 Visual Studio를 실행하는 로컬 호스트가 있습니다.
  • 대상과 로컬 호스트 간에 SSH를 통해 연결할 수 있습니다.

질문:

a) Targethost에서 "gdbserver localhost:port file.cpp" 명령을 실행하면 "Exec 형식 오류"가 발생합니다. 하지만 "gdbserver localhost:port file.so"를 실행하면 수신이 시작됩니다. gdpserver에는 항상 바이너리/실행 파일이 필요합니까?

b) Linux 지원 ".so" 바이너리를 작성하고 싶습니다. Visual Studio를 사용하여(g++/gcc 컴파일러가 설치되지 않은 상태에서) Linux 호스트로 크로스 컴파일하는 올바른 방법을 찾고 있습니까? 아니면 gcc/g++가 설치된 Linux 가상 머신을 구입하는 것이 더 낫습니까?

어떤 조언이라도 대단히 감사하겠습니다.

감사합니다, 안몰

관련 정보