development

그놈 쉘 확장을 테스트 / 디버그하는 방법은 무엇입니까?

big-blog 2020. 12. 7. 20:12
반응형

그놈 쉘 확장을 테스트 / 디버그하는 방법은 무엇입니까? 이를위한 도구가 있습니까?


GNOME Shell 확장을 개발하고 싶고 개발 과정에 들어가는 것이 정말 쉽다는 것을 알았지 만 여전히 확장을 효과적으로 디버그 / 테스트하는 방법을 알 수 없습니다.

그 목적을위한 도구가 있습니까? 최신 브라우저 나 자바 스크립트 서버 환경에있는 것과 같은 실시간 콘솔이 있습니까?


예, 실시간 콘솔은 "Looking Glass"라고하며 Alt+ 를 누르고 프롬프트에 F2입력하여 시작할 수 있습니다 lg.

더 많은 정보 : https://live.gnome.org/GnomeShell/LookingGlass


Fedora 20 (및 아마도 새로운 Linux 배포판)에서는 다음 명령을 사용할 수 있습니다.

journalctl /usr/bin/gnome-session -f -o cat

-f그놈 세션에서 발생하는 오류를 터미널 창에 지속적으로 ( ) 출력합니다. -o cat타임 탭없이 전체 메시지를 표시하므로 플래그를 선호합니다 .

Fedora 22에서는 다음으로 대체되었다고 생각합니다.

journalctl /usr/bin/gnome-shell -f -o cat

Looking Glass는 훌륭합니다. 그래도 스트레이트 콘솔이 필요한 경우 적어도 3.6에서는 LG를 통하지 않고 하나를 얻을 수 있습니다.

터미널을 열고를 입력 gnome-shell --replace하면 gnome-shell이 ​​거기에서 실행되어 실행중인 인스턴스를 대체하고 이후 해당 콘솔에 전역 로그 출력이 나타납니다.

Alt- 를 수행 F2 lg한 다음 global.log("foo")"Evaluator"탭에서 Looking Glass로 테스트 할 수 있습니다 .


자세한 내용 은 읽기 ~/.xsession-errors~/.cache/gdm/session.log파일을 선호합니다 . 일부 오류 메시지는 다른 예외 또는 오류와 관련이있을 수 있습니다.


나는 아직 다른 답변에 대해 언급 할 수 없으므로 추가 할 것이라고 생각했습니다.

  • 제프의 대답의 의견이 들어, 단지를 통해 쉘을 다시 시작 alt+f2후 - r하고 enter그렇게되면, - 터미널 운영하는 세션 (적어도 데비안에) 자동으로 종료됩니다.

  • Debian Jessy에서도 작동하는 일반적인 디버깅에 대해 jsnjack의 답변을 권장합니다. sudo그래도 원할 것 입니다. 그놈 오류와 함께 실행하는 터미널에 global.log () 메시지가 표시됩니다.

정보를 참조 할 때이 페이지를 두 번 이상 보았 기 때문에 기억에 새롭지 않습니다.


다른 답변은 내 확장 프로그램을 개발하는 동안 실제로 작동하지 않았습니다. 그러나 한 일은 다음과 같습니다.

journalctl /usr/lib/gnome-session/gnome-session-binary -f -o cat 

앱만보기 위해 출력을 정리하려면 다음을 사용할 수 있습니다.

journalctl /usr/lib/gnome-session/gnome-session-binary -f -o cat | grep [myAppId]

위의 방법을 사용하여 오류가 아닌 로그에도 액세스하려면 다음을 사용할 수 있습니다.

global.log('[myAppId]', valueToLog);

그놈 세션의 올바른 경로를 모르는 경우 다음을 사용할 수도 있습니다.

journalctl -f | grep gnome-session

작동하지 않는 이유는 아마도 내 gnome-session-binary 경로가 다르기 때문일 것입니다. 이는 최신 버전의 그놈 설치와 관련이있을 수 있습니다.


Anjuta Dev-Studio는 gnome-shell 확장 작업을위한 훌륭한 도구입니다. 디버거, GUI 디자이너, 버전 제어 등이 장착되어 있습니다. gnome의 wiki-pages 에 gnome-shell 확장 프로젝트와 함께 Anjuta를 사용하는 가이드 튜토리얼도 있습니다.


gnome-shell 확장 개발을 목표로하는 emacs 패키지를 여기에서 개발하고 있습니다 : https://github.com/paperwm/gnome-shell-mode

아직 "베타"(2017 년 12 월)에 있지만 이미 매우 유용합니다.

풍모

  • 자동 완성 (유리창이 제공하는 것보다 훨씬 낫다)
  • 줄, 선택, 현재 기능, 버퍼 평가 (선택적으로 결과를 주석의 버퍼에 붙여 넣기)
  • 평가시 오류 강조
  • 문서 조회 도우미
  • gnome-shell을 다시 시작하지 않고 작업중인 모듈을 다시로드하는 도우미

참고 URL : https://stackoverflow.com/questions/8425616/how-to-test-debug-gnome-shell-extensions-is-there-any-tool-for-that

반응형