gdb는 Linux용 32비트 프로그램을 디버깅할 수 없습니다.

gdb는 Linux용 32비트 프로그램을 디버깅할 수 없습니다.

이 문제를 해결하는 방법은 무엇입니까? 32비트 프로그램을 디버깅하기 위해 gdb를 사용할 때 이 경고가 나타났습니다. 그리고 이로 인해 프로그램이 실행될 수 없게 되었습니다.

32비트 프로그램을 디버깅하기 위해 gdb를 사용할 때 이 경고가 나타났습니다. 그리고 이로 인해 프로그램이 실행될 수 없게 되었습니다. gdb에 대한 구성 정보입니다.

gdb에 대한 구성 정보입니다.

답변1

64비트 우분투에서 32비트 애플리케이션을 디버그하려는 경우. 시도 해봐.

sudo apt-get install gdb-multiarch

답변2

나는 같은 문제에 부딪쳤다. 다양한 설정과 시스템으로 테스트한 후 Ubuntu 18.04와 함께 제공되는 gdb 버전(8.1)에 버그가 있다는 결론을 내렸습니다. 최신 버전의 gdb는 잘 작동하는 것 같습니다(즉, 이러한 이상한 경고가 표시되지 않으며 32비트 프로그램을 디버깅할 때 gdb가 중단되지 않습니다).

나는 gdb 8.2와 함께 제공되는 Ubuntu 19.04를 사용해 보았고 기본적으로 잘 작동합니다. 또한 최신 버전(작성 당시: 8.3.1)을 컴파일하려고 시도했는데 제대로 작동합니다(Ubuntu 18.04에서도).

내 제안은 최신 버전의 gdb(작성 당시: 8.3.1)를 가져와 직접 컴파일하는 것입니다. 여기에서 소스 번들을 가져올 수 있습니다.https://mirrors.kernel.org/sourceware/gdb/releases/.

작동하는 것으로 보이는 또 다른 (매우) 하위 이상적인 솔루션: gdb:i38632비트 애플리케이션용 gdb를 설치하는 패키지를 설치할 수 있습니다. 하지만,64비트용 gdb를 제거합니다., 당신이 원하지 않을 수도 있습니다.

근본적인 문제가 무엇인지, 그리고 이를 해결할 수 있는 빠른 방법이 있는지 전혀 모르겠습니다.

관련 정보