help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Running until first unhandled error.


From: Jean Louis
Subject: Re: Running until first unhandled error.
Date: Wed, 4 Jan 2023 11:53:32 +0300
User-agent: Mutt/2.2.9+54 (af2080d) (2022-11-21)

* Davin Pearson <davin.pearson@gmail.com> [2023-01-04 07:27]:
> I am trying to get edebug online instead of checkpointing every
> second line of code and in every buffer like so to narrow down
> the source of the bug, i.e. an unhandled error message.
> 
> (message "&foo:100:")
> (defun foo ()
>   (message "&foo:101:")
>   (setq abc 123)
>   (message "&foo:102:")
>   (foo)
>   (message "&foo:103:")
>   (bar)
>   (message "&foo:104:")
>   (setq def 456)
>   (message "&foo:105:")
>   )
> (message "&foo:106:")
> 
> I eval a buffer using
> 
> (progn
>   (mark-whole-buffer)
>   (eval-buffer))

You need not mark whole buffer if you wish to eval buffer.

> and it enters me into the *Debugger* as it should.
> 
> What I want to do is to run until the next unhandled error message,
> but none of the *Debugger* keys seem to do this.

Please see Edebug menu.

> Here are my edebug settings for you to help me debug
> my code:
> 
> (progn
>   (require 'debug)
>   (require 'edebug)
>   (setq edebug-all-defs t)
>   (setq edebug-all-forms t)
>   (setq edebug-on-error t)
>   (edebug-eval-top-level-form)
>   )

The above is too general, it is causing more problems than it should.

No comment for above. I can tell that if there is function to debug, I
use this workflow:

1. Go to `defun' or after and press C-u M-C-x as that immediately
   marks the function for edebug

2. When execution location comes to that function, I find myself in
   the function, then I press `n' to evaluate expressions one by one.

3. I may discover other function which is giving the error, at that
   time, go to other function and repeat steps 1, and remove the first
   function eventually with 
      {M-x edebug-remove-instrumentation RET name-of-first-function RET}

4. I repeat this process until I find what is wrong.

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]