unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Jean Louis <bugs@gnu.support>
To: Davin Pearson <davin.pearson@gmail.com>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Running until first unhandled error.
Date: Wed, 4 Jan 2023 11:53:32 +0300	[thread overview]
Message-ID: <Y7U+jC8LUU6Y9olS@protected.localdomain> (raw)
In-Reply-To: <CAG9ihEuMHpAp3FWJGWbA6T6xmPB1LOgd8o9P3RP0wo5sav_WXw@mail.gmail.com>

* 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	other threads:[~2023-01-04  8:53 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-04  4:25 Running until first unhandled error Davin Pearson
2023-01-04  8:53 ` Jean Louis [this message]
2023-01-04 11:03 ` Michael Heerdegen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y7U+jC8LUU6Y9olS@protected.localdomain \
    --to=bugs@gnu.support \
    --cc=davin.pearson@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).