E.A. Ratzer <ear23@[EMAIL PROTECTED]
> wrote:
> On 28 Sep 2003, Olaf Wagner wrote:
>> On several systems, including LINUXLIBC6, FreeBSDX, DS3100,
>> the garbage collector uses memory protection to implement incremental
>> and generational collections. SIGSEGV is the usual reaction of
>> a Unix system to a write request to a protected page. This is
>> caught deep in the Modula-3 runtime. So in order to debug a
>> program in gdb or m3gdb, you should always add the command line
>> argument @[EMAIL PROTECTED]
which disables the virtual memory protection.
>> This should be a FAQ, I think.
> I tend not to do this as I imagine a program could behave differently
when
> given this option. I instead issue
> handle SIGSEGV nostop noprint
> to gdb/m3gdb.
But then you will miss `real' segmentation violations (for example
NIL pointer dereferences). Of course you can set a breakpoint on
one of the runtime abort routines...
--
/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|| Olaf Wagner | wagner(at)luthien.in-berlin.de (priv.)|
|| Cranachstrasse 7 | wagner(at)elego.de (business) |
|| D-12157 Berlin | phone: +49 30 85 60 26 70 |
|| Germany / Deutschland | fax: +49 30 85 58 01 88 |
\/////////////////////////////////////////////////////////////////


|