우분투 13.10에서 GDB 프리티 프린트 설정하기


8

이 anwer 에 따라 GDB 예쁜 인쇄 (표준 컨테이너 작업을 쉽게하기 위해)를 설정하려고했습니다 . svn의 python pretty printers 코드를 사용하는 대신 우분투와 함께 제공 되는 코드를 사용했습니다 . 나머지 프로세스를 거친 후 gdb를 시작할 때 다음 오류 메시지가 나타납니다.

For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/home/nietaki/gdb_printers/python/libstdcxx/v6/printers.py", line 54
    raise ValueError, "Cannot find type %s::%s" % (str(orig), name)
                    ^
SyntaxError: invalid syntax
/home/nietaki/.gdbinit:6: Error in sourced command file:
Error while executing Python code.

문제에 대해 좀 더 자세히 살펴본 결과 근본 원인이 더 깊다는 것을 알았습니다. gdb에 사용 된 Python 3은 libstdc ++ pretty printers와 호환되지 않습니다 .

누구든지 그에 대한 기능 해결 방법이 있습니까? 지금은 Dan Marinescu의 (도움이되지만 기능적이지는 않지만) 헬퍼에 갇혀 있습니다. http://www.yolinux.com/TUTORIALS/GDB-Commands.html#STLDEREF


두 가지 질문이 있습니다. 첫째, Ask Ubuntu가 올바른 장소이며 그 이유는 무엇입니까? 둘째, 응용 프로그램의 버그가 아닙니까? 두 경우 모두 주제가 다릅니다!
Lucio

이 주제는 어떻습니까? 우분투 런치 패드 에서 확인 된 중요 버그를 연결하여 문제를 일으켜 해결 방법을 요청했습니다. 13.10을 사용하는 사람 이이 작업을 수행하면 확실히 솔루션을 사용할 수 있습니다. 젠투에있는 친구와 확인했는데이 문제는 그들에게 영향을 미치지 않습니다.
nietaki

답변:


8

가장 쉬운 해결 방법은 printers.py예전 처럼 예쁜 프린터를 설정 한 다음 2to3을 사용하여 python3으로 변환 하는 것 같습니다.

2to3 printers.py -w

나는 그것을 간단히 테스트했지만 잘 작동하는 것 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.