all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* newbie: debugging elisp.
@ 2006-05-24 13:19 Pawel
  2006-05-24 14:26 ` Drew Adams
  0 siblings, 1 reply; 2+ messages in thread
From: Pawel @ 2006-05-24 13:19 UTC (permalink / raw)


Hallo

In order to ask more precise questions related to problems with emacs packages I decided to learn a bit how to debug elisp programs.

I started with edebug, because it also shows source code. I tried debugging emacs tramp package.

I read three steps of edebug info pages, especially step about instrumenting the code.

Unfortunatelly that manual is not clear for me.

----------- Problem 1: code instrumentation -----------
I did:
1) I set up in .emacs 
(setq edebug-trace t)
(setq edebug-all-defs t)
(setq edebug-all-forms t)
2) restarted emacs
3) visited tramp.el file
4) M-x eval-current-buffer

Then I expected that call to any function that is in tramp.elc (I have compiled sources) will invoke debug. Unfortunatelly it did not stop even once.

But when I figured out what is the actual tramp entry point (tramp-file-name-handler), and then invoked M-x edebug-defun on that function definition, and then rerun my tramp command, emacs execution stopped inside that method.

My question is:
a) Do I understand bad, the way eval-current-buffer works ?


-------------- Problem 2: stepping into function -------------
As edebug stopped at tramp-file-name-handler, I stepped through that with <SPC>. When I wanted to step into (`i') function called from tramp-file-name-handler, I got the (example) message:
Don't know where tramp-find-foreign-file-name-handler is defined.

tramp-find-foreign-file-name-handler is defined in the same file as tramp-file-name-handler (tramp.el).

Could You tell me, what I am doing wrong

Greetings

^ permalink raw reply	[flat|nested] 2+ messages in thread

* RE: newbie: debugging elisp.
  2006-05-24 13:19 newbie: debugging elisp Pawel
@ 2006-05-24 14:26 ` Drew Adams
  0 siblings, 0 replies; 2+ messages in thread
From: Drew Adams @ 2006-05-24 14:26 UTC (permalink / raw)


    I read three steps of edebug info pages, especially step about
    instrumenting the code.

    Unfortunatelly that manual is not clear for me.

FWIW, I use M-x debug-on-entry <name-of-function> instead of edebug. But I
know that many people prefer edebug.

If you use M-x debug-on-entry, this is what you need to know:

In the debugger: `d' to step into an expression (dig in), `c' to completely
eval an expression, `e' to eval something in context (anything), `q' to quit
the debugger. Pretty simple.

To stop debugging a function or all functions: M-x cancel-debug-on-entry
(RET to cancel all functions).

HTH.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-05-24 14:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-24 13:19 newbie: debugging elisp Pawel
2006-05-24 14:26 ` Drew Adams

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.