`Edeug-Defun` nasıl iptal edilir?


13

Etkilerini nasıl geri alabilirim edebug-defun? Başka bir deyişle, edebugbelirli bir işlev çağrıldığında hata ayıklama moduna girmesine neden olan yönergeyi nasıl iptal edebilirim ?

Ayrıca, bu sorunun cevabının belgeselde nerede olduğunu bilmek istiyorum. Birinin gerekli olacağını düşündüğünden çok daha uzun süre aradım ...

Yanıtlar:


16

Gönderen (info "(elisp) Instrumenting"):

   To remove instrumentation from a definition, simply re-evaluate its
definition in a way that does not instrument.  There are two ways of
evaluating forms that never instrument them: from a file with `load',
and from the minibuffer with `eval-expression' (`M-:').

IOW, kolay yol C-M-xönek argümanı (veya edebug-all-defsayarladıysanız bir önek argümanı olmadan ) kullanmaktır.


Teşekkürler! Cevabı gördükten sonra, cevabı bulmanın tek yolunun tüm Emacs ve Elisp belgelerinde doğrusal bir arama olacağından kesinlikle eminim.
kjo

FWIW Keşke tüm tanımlardan (birden fazla dosyaya dağılmış olsa bile) enstrümantasyonu kaldırmanın kolay bir yolu olsaydı, ama birini bilmiyorum.
YoungFrog

@kjo Elisp kılavuzundaki edebug bölümünü açarak ve bölümlere göz atarak buldum. "Edeug-defun'un etkileri" nin "enstrüman" olarak adlandırıldığını bilmek kesinlikle yardımcı oldu.
YoungFrog

2
@kjo Ayrıca, M-x report-emacs-bugcevabınızı ararken gerçekten denediğiniz şeyi söyleyerek bir hata ( ) bildirirseniz , belgeler daha sonra geliştirilebilir.
YoungFrog

9

Başka bir deyişle, belirli bir işlev çağrıldığında edebug'un hata ayıklama moduna girmesine neden olan yönergeyi nasıl iptal edebilirim?

Sen ayarlayarak enstrümantasyon çıkarmadan bu etkiyi elde edebilirsiniz edebug-initial-modeiçin go. Bu şekilde, sadece bir kesme noktası seti varsa edebug'da durursunuz. Emacs 25.1'den itibaren bunu hızlı bir şekilde yapabilirsiniz edebug-set-initial-mode:C-x C-a C-m g

(info "(elisp) Edebug Execution Modes")

‘g’
     Go: run until the next breakpoint (‘edebug-go-mode’).  *Note
     Breakpoints::.

[...]

When you enter a new Edebug level, the initial execution mode comes
from the value of the variable ‘edebug-initial-mode’ (*note Edebug
Options::).  By default, this specifies step mode.

[...]

Command: edebug-set-initial-mode

This command, bound to C-x C-a C-m, sets edebug-initial-mode. It
prompts you for a key to indicate the mode. You should enter one of
the eight keys listed above, which sets the corresponding mode.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.