О Linux, читайте /proc/$pid/maps
. Он содержит текстовое описание диапазонов памяти, отображаемых процессом, например.
00400000-0040b000 r-xp 00000000 08:00 35402 /bin/cat
0060a000-0060b000 r--p 0000a000 08:00 35402 /bin/cat
0060b000-0060c000 rw-p 0000b000 08:00 35402 /bin/cat
006ab000-006cc000 rw-p 00000000 00:00 0 [heap]
7f9a73235000-7f9a734fe000 r--p 00000000 08:00 949 /usr/lib/locale/locale-archive
7f9a734fe000-7f9a736b8000 r-xp 00000000 08:00 18124 /lib/x86_64-linux-gnu/libc-2.19.so
7f9a736b8000-7f9a738b8000 ---p 001ba000 08:00 18124 /lib/x86_64-linux-gnu/libc-2.19.so
7f9a738b8000-7f9a738bc000 r--p 001ba000 08:00 18124 /lib/x86_64-linux-gnu/libc-2.19.so
7f9a738bc000-7f9a738be000 rw-p 001be000 08:00 18124 /lib/x86_64-linux-gnu/libc-2.19.so
7f9a738be000-7f9a738c3000 rw-p 00000000 00:00 0
7f9a738c3000-7f9a738e6000 r-xp 00000000 08:00 17952 /lib/x86_64-linux-gnu/ld-2.19.so
7f9a73ad9000-7f9a73adc000 rw-p 00000000 00:00 0
7f9a73ae3000-7f9a73ae5000 rw-p 00000000 00:00 0
7f9a73ae5000-7f9a73ae6000 r--p 00022000 08:00 17952 /lib/x86_64-linux-gnu/ld-2.19.so
7f9a73ae6000-7f9a73ae7000 rw-p 00023000 08:00 17952 /lib/x86_64-linux-gnu/ld-2.19.so
7f9a73ae7000-7f9a73ae8000 rw-p 00000000 00:00 0
7ffde1b80000-7ffde1ba1000 rw-p 00000000 00:00 0 [stack]
7ffde1bd5000-7ffde1bd7000 r--p 00000000 00:00 0 [vvar]
7ffde1bd7000-7ffde1bd9000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Здесь много информации, но для вас важны первые две колонки. Первый - это диапазон адресов, а второй - права доступа, с которыми он сопоставляется.
Обратите внимание, что это имеет явное преимущество перед любым подходом, основанным на запуске segfaults: его можно прочитать из другого процесса и не требует добавления какого-либо кода к целевому процессу.
XY проблема. Не вызывайте неопределенное поведение. Нет гарантии, что неправильный доступ к памяти генерирует сигнал. – Olaf
Если вы считаете, что ваша программа обращается к памяти, ее не следует запускать под [valgrind] (http://valgrind.org). Это скажет вам, где вы ошибаетесь. – dbush
Давайте вернемся к секунде: зачем вам нужно знать? Вообще говоря, вы никогда не должны в конечном итоге иметь недействительные указатели. – duskwuff