`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.