すべてのブレークポイントのクリア/削除


7

すべてのブレークポイントをクリアする(インストルメンテーションをまとめて削除する)ためのメカニズムはありeval-defunますか?そうすれば、インストルメントされた関数の定義ごとに手動で実行する必要がなくなります。


3
のコードは、がマーカーのedebug-instrument-function場合(get symbol 'edebug)は関数がインストルメント化されておらず(get symbol 'edebug)、が短所の場合は関数がインストゥルメントされていることを示しています。現在、edebug-remove-all-instrumentationevalsのバージョンは、計装されていない関数の計装されていない関数のdefunsです。
トビアス

@Tobias観察ありがとうございます!機能を更新しました。
ebpa 2017

回答:


5

コンセンサスは、そのような機能が組み込まれていないことです。

edebugインストルメンテーションデータはターゲットシンボルに格納されているため、次の基本的な機能を使用しています。

(defun ebpa/edebug-remove-all-instrumentation ()
  "Remove all edebug instrumentation by visiting each function
definition and running `eval-defun`."
  (interactive)
  (mapatoms
   (lambda (symbol)
     (when-let (pos (car-safe (get symbol 'edebug)))
       (with-current-buffer (marker-buffer pos)
         (goto-char (marker-position pos))
         (eval-defun nil))))))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.