unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: valid_pointer_p
Date: Mon, 31 Jul 2006 06:21:52 +0300	[thread overview]
Message-ID: <ud5bmo3vz.fsf@gnu.org> (raw)
In-Reply-To: <m3d5bm4u7t.fsf@kfs-l.imdomain.dk> (storm@cua.dk)

> Cc: emacs-devel@gnu.org
> From: storm@cua.dk (Kim F. Storm)
> Date: Mon, 31 Jul 2006 00:13:26 +0200
> 
> > It goes without saying that on MS-Windows, the code does segfault if
> > the argument is an invalid pointer.
> 
> .. but that's no worse than before I added pp / safe_debug_print.

Yes, but that doesn't sound like a good argument to me.  If we thing
that segfaulting is a bug, let's fix it in the best way we can.

> And do people usually debug emacs with GDB on windows?

I do it all the time.  What other debugger can I use to debug Emacs
built with MinGW's port of GCC?  Windows debuggers don't understand
the debug info emitted by GCC.

> > As for other ways, we could, for example, set up a temporary signal
> > handler for SIGSEGV around the call to valid_pointer_p.  That should
> > work on most, if not all, supported platforms.
> >
> > Then there's the procfs API, which probably lets you actually read
> > from the process memory on those platforms where procfs is available.
> >
> > On Windows, we could try reading from the address using the
> > ReadProcessMemory API, which is used by debuggers.  (If ptrace allows
> > reading from the calling process, we could do the same on Posix
> > platforms.)
> 
> All of this sounds more or less complicated, but if someone want to
> give one of these methods a try, fine with me.

If no one else cares about this, I will at least write the code to
DTRT on Windows.  I could also show you the code to set up a signal
handler, if you wish.

  reply	other threads:[~2006-07-31  3:21 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-29 10:27 valid_pointer_p Eli Zaretskii
2006-07-29 10:45 ` valid_pointer_p Andreas Schwab
2006-07-29 12:16   ` valid_pointer_p Eli Zaretskii
2006-07-30  0:05 ` valid_pointer_p Kim F. Storm
2006-07-30  3:16   ` valid_pointer_p Eli Zaretskii
2006-07-30 22:13     ` valid_pointer_p Kim F. Storm
2006-07-31  3:21       ` Eli Zaretskii [this message]
2006-07-31  8:30         ` valid_pointer_p Andreas Schwab
2006-07-31 17:10           ` valid_pointer_p Eli Zaretskii
2006-07-31 17:56             ` valid_pointer_p Andreas Schwab
2006-07-31  9:01         ` valid_pointer_p Kim F. Storm
2006-08-05 13:04           ` valid_pointer_p Eli Zaretskii
2006-08-05 13:09             ` valid_pointer_p Eli Zaretskii
2006-08-05 22:11             ` valid_pointer_p Kim F. Storm
2006-08-06  3:29               ` valid_pointer_p Eli Zaretskii
2006-08-11 22:58                 ` valid_pointer_p Kim F. Storm
2006-08-12 11:06                   ` valid_pointer_p Eli Zaretskii
2006-08-12 12:36                     ` valid_pointer_p Andreas Schwab
2006-08-12 14:39                       ` valid_pointer_p Eli Zaretskii
2006-08-12 20:19                         ` valid_pointer_p Kim F. Storm
2006-08-12 21:56                           ` valid_pointer_p Eli Zaretskii

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=ud5bmo3vz.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@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.
Code repositories for project(s) associated with this public inbox

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

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