Hallo, mau tanya nih,
Apakah di Linux kita bisa meng-ekstrak informasi
pada address mana terjadi segmentation fault, dari
dalam signal handler yang kita bikin sendiri ?
Di Solaris, hal ini bisa di implementasikan sbb:
/* Set SIGSEGV disposition to segv_handler() */
struct sigaction *act =
(struct sigaction *)malloc(sizeof(struct sigaction));
struct sigaction *oldact =
(struct sigaction *)malloc(sizeof(struct sigaction));
act->sa_sigaction = (void *)segv_handler;
act->sa_flags = SA_RESTART | SA_SIGINFO;
sigaction(SIGSEGV,act,oldact);
dan dari dalam segv_handler() kita bisa ekstrak pada address mana
terjadi Segmentation fault, sbb:
void segv_handler(int signum, siginfo_t *sip, ucontext_t *uap){
...
char *vadr = (char *)sip->_data._fault._addr;
/* now vadr points the faulting address */
...
}
TIA,
--
Niko D. Barli
[EMAIL PROTECTED]
([EMAIL PROTECTED])
http://www.mtl.t.u-tokyo.ac.jp/~niko
The README says, "Needs Windows 95, NT 4.0 or better".
So I installed it on Linux.
----------------------------------------------------------------------
Unsubscribe: [EMAIL PROTECTED]
Archive: http://www.vlsm.org/linux-archive
Linux CD: [EMAIL PROTECTED]