Existe-t-il des outils pour faciliter le suivi des erreurs dans les blocs en mode organisationnel? (Je travaille spécifiquement avec python)
Mon flux de travail actuel consiste à copier du code qui fonctionne dans un bloc source et à essayer de n'apporter que des modifications minimes. Si des erreurs majeures se produisent, je le recopie dans un autre fichier, ou emmêle le bloc et débogue le fichier résultant.
Y a-t-il des outils qui me manquent? (par exemple, quelque chose comme le mode de compilation où cela vous amènerait à la ligne sur laquelle l'erreur se trouve.)
Edit: par exemple, je viens de trouver Cc Cv v, qui affiche un tampon avec des références noweb développées. Malheureusement, il n'inclut pas d'arguments d'en-tête, donc le code de celui-ci ne peut pas être exécuté sans importer d'abord ceux de l'interpréteur. De même, si j'ai une déclaration de retour, qui l'empêche d'être exécutée et que le tampon n'est pas modifiable, il faut donc plusieurs étapes pour obtenir la source exécutable à partir d'un bloc python.
(org-src-debug)
. Cela présente l'avantage que vous pouvez déboguer des blocs de code source avec des arguments d'entrée.:session
tête à votre bloc de code? par exemple:session *my-python*
. Ensuite, regardez simplement l'exécution du script dans le*my-python*
tampon dans une autre image ou fenêtre. Je suppose que vous voulez quelque chose de plus sophistiqué que cela?Réponses:
Méthode 1
Ajoutez un en-
:session
tête à votre bloc source.Dans l'exemple, l'utilisation de l'en - tête : session exécutera le code dans un tampon nommé
*my-python*
et affichera les messages de débogage.Méthode 2
Placez le point dans le bloc de code et éditez le bloc en utilisant C-c ', par exemple
org-edit-special
. Cette méthode vous permettra d'utiliser lapython-mode
fonctionnalité intégrée.Démarrez l'interpréteur python avec C-c C-p, qui divisera la fenêtre et ouvrira le nom du tampon
*Python*
. Pour passer à la mémoire tampon de l'interpréteur python, appuyez sur C-c C-z.Une fois terminé, propagez votre code mis à jour dans le bloc de code avec C-c 'ou annulez toutes les modifications avec C-c C-k.
la source