2010-02-24 14 views

Odpowiedz

41

Wpisz M-x cd, aby zmienić katalog na lokalizację programu, który chcesz debugować. Wpisz M-x pdb. Zostaniesz poproszony o podanie Run pdb (like this): pdb. Wprowadź nazwę programu (np. test.py).

Po pytaniu wpisz help, aby dowiedzieć się, jak korzystać z pdb.

Alternatywnie, można umieścić

import pdb 
pdb.set_trace() 

bezpośrednio w programie (np test.py). Teraz wpisz M-x shell, aby uzyskać monit powłoki. Po uruchomieniu programu zostaniesz zrzucony na pdb w miejscu, gdzie zostanie wykonany pdb.set_trace().

+0

Używanie pdbtrack (poprzez powłokę M-x) jest prawdopodobnie lepszym rozwiązaniem. W ten sposób łatwiej kontrolować katalogi i środowiska. –

+8

@matt z Mx pdb możesz ustawić punkty przerwania w plikach źródłowych, a kursor pokaże aktualną pozycję wykonania: http://twistedmatrix.com/documents/current/core/howto/debug-with-emacs .html –

+0

Samouczek graficzny można znaleźć tutaj: http://sunnyeves.blogspot.com/2011/04/debugging-python-on-emacs-ide.html – gt6989b

19

Dla mnie, musiałem zastąpić domyślny "PDB" z

python -m pdb myscript.py 
7

The realgud pakietu (dostępny od MELPA) obsługuje PDB (wśród gazillion innych debugerów) i ma wiele miłe cechy, które PDB Emac nie ma.

Najbardziej podoba mi się tryb shortkeys. Po rozpoczęciu debugowania programu możesz nacisnąć przycisk n, s, itd. Bezpośrednio w oknie źródłowym, zamiast wpisywać te polecenia w buforze PDB. Obsługuje również klawisze funkcyjne Visual-Studio z klawiszami funkcyjnymi (f10, f11, f5 itd.).

Po zainstalowaniu RealGUD, musisz uruchomić M-x load-feature realgud, aby go załadować, i możesz uruchomić pdb z M-x realgud:pdb.

+2

Należy dodać, że mam mały konflikt interesów. Znalazłem pakiet tak zgrabny, że zacząłem go hakować, a teraz stałem się współ-opiekunem. –

Powiązane problemy