Czy są dostępne narzędzia ułatwiające śledzenie błędów w blokach w trybie organizacji? (Pracuję konkretnie na Pythonie)
Mój obecny obieg pracy polega na kopiowaniu kodu, który działa do bloku źródłowego, i próbowaniu wprowadzania tylko minimalnych modyfikacji. Jeśli wystąpią poważne błędy, albo kopiuję go z powrotem do innego pliku, albo plączę blok i debuguję wynikowy plik.
Czy brakuje mi jakichś narzędzi? (np. coś w rodzaju trybu kompilacji, w którym doprowadziłby cię do linii, w której wystąpił błąd).
Edycja: na przykład właśnie znalazłem Cc Cv v, która wyświetla bufor z rozszerzonymi nowymi referencjami. Niestety nie zawiera argumentów nagłówka, więc kodu z tego nie można uruchomić bez wcześniejszego zaimportowania ich do interpretera. Podobnie, jeśli mam instrukcję return, która powstrzymuje ją przed wykonaniem, a bufor nie jest edytowalny, więc podejmuje kilka kroków, aby uzyskać źródło uruchomieniowe z bloku python.
(org-src-debug)
. Ma to tę zaletę, że można debugować bloki kodu źródłowego za pomocą argumentów wejściowych.:session
nagłówek do swojego bloku kodu? np:session *my-python*
. Następnie obejrzyj wykonanie skryptu w*my-python*
buforze w innej ramce lub oknie. Zgaduję, że chcesz czegoś bardziej wyrafinowanego niż to poprawne?Odpowiedzi:
Metoda 1
Dodaj
:session
nagłówek do swojego bloku źródłowego.W przykładzie użycie nagłówka : session spowoduje wykonanie kodu w buforze o nazwie
*my-python*
i wyświetlanie komunikatów debugowania.Metoda 2
Umieść punkt w bloku kodu i edytuj blok za pomocą C-c ', tj
org-edit-special
. Ta metoda umożliwia korzystanie zpython-mode
wbudowanych funkcji.Uruchom interpreter Pythona C-c C-p, który podzieli okno i otworzy nazwę bufora
*Python*
. Aby przełączyć na bufor interpretera Pythona, naciśnij C-c C-z.Po zakończeniu propaguj zaktualizowany kod do bloku kodu za pomocą C-c 'lub odrzuć wszelkie zmiany za pomocą C-c C-k.
źródło