%22.png)
Python 대화형 모드를 사용하려고 할 때마다 무엇을 입력하든 Arch Linux가 사용되고 Segmentation fault (core dumped)
Python 인터프리터가 종료됩니다.
Python 스크립트를 실행하거나 다음을 수행하는 데 문제가 없습니다.
$ echo "print(1+1)" | python
그러나 대화형 모드로 들어가면 quit를 python
사용 합니다.python2
Segmentation fault (core dumped)
설치를 테스트합니다파이썬Python 인터프리터의 이 인터페이스에는 문제나 오류가 없습니다.
gdb
프롬프트에 입력할 때 Enter를 두 번 눌러야 하고(Enter를 누르면 중지됨) 다음을 얻으려고 했습니다 .run
gdb
Starting program: /usr/bin/python
Segmentation fault (core dumped)
그리고 gdb
나가세요.
어쩌면 이 정보가 유용할 수도 있습니다:
$ which python
/usr/bin/python
$ which python2
/usr/bin/python2
$ python --version
Python 3.6.1
$ python2 --version
Python 2.7.13
$ uname -a
Linux archimiro 4.11.6-3-ARCH #1 SMP PREEMPT Thu Jun 22 12:21:46 CEST 2017 x86_64 GNU/Linux
답변1
다음과 같은음strace
Python을 실행하여 대화형 Python과 비대화형 Python의 차이점을 살펴보는 것이 좋습니다 .
대화형 Python을 사용하여 내 글을 읽는 ~/.inputrc
방법독서선, 이것이 로 이어지는 것입니다 Segmentation fault (core dumped)
.
~/.inputrc
(Ubuntu)의 내용을 맹목적으로 복사한 다른 컴퓨터(Ubuntu)의 파일이 있습니다 /usr/share/doc/bash/inputrc.arrows
.
그 내용은 /usr/share/doc/bash/inputrc.arrows
다음과 같습니다:
# This file controls the behaviour of line input editing for
# programs that use the Gnu Readline library.
#
# Arrow keys in keypad mode
#
"\C-[OD" backward-char
"\C-[OC" forward-char
"\C-[OA" previous-history
"\C-[OB" next-history
#
# Arrow keys in ANSI mode
#
"\C-[[D" backward-char
"\C-[[C" forward-char
"\C-[[A" previous-history
"\C-[[B" next-history
#
# Arrow keys in 8 bit keypad mode
#
"\C-M-OD" backward-char
"\C-M-OC" forward-char
"\C-M-OA" previous-history
"\C-M-OB" next-history
#
# Arrow keys in 8 bit ANSI mode
#
"\C-M-[D" backward-char
"\C-M-[C" forward-char
"\C-M-[A" previous-history
"\C-M-[B" next-history
문제의 구체적인 원인이므로 제거한 후에는 모든 것이 잘 작동 8 bit keypad mode
합니다 .8 bit ANSI mode
감사해요트리거gdb
이전에 이 도구를 사용해 본 적이 없기 때문에 지적해 주시고 인내심을 가져주셔서 감사합니다 . 그리고음이것을 사용하라고 제안한 사람은 strace
나에게도 새로운 사람입니다. 저는 단지 새로운 것을 배우기를 좋아하는 일반 사용자이기 때문에 디버깅을 어디서부터 시작해야 할지 모르겠습니다. 훌륭한 커뮤니티!