Multiple Exceptions

The first Windows pattern in user mode (Volume 1, page 255) now has Mac OS X equivalent. In the example below there are 3 threads and two of them experienced Data NULL Pointer (page 206) access violation exception:

(gdb) thread apply all bt full


Thread 3 (core thread 2):
#0 0x00000001062ffe4e in thread_two (arg=0x0)
at main.c:24
       p = (int *) 0×0
#1 0×00007fff8abf58bf in _pthread_start ()
No symbol table info available.
#2 0×00007fff8abf8b75 in thread_start ()
No symbol table info available.
Thread 2 (core thread 1):
#0 0x00000001062ffe1e in thread_one (arg=0x0)
at main.c:16
       p = (int *) 0×0
#1 0×00007fff8abf58bf in _pthread_start ()
No symbol table info available.
#2 0×00007fff8abf8b75 in thread_start ()
No symbol table info available.
Thread 1 (core thread 0):
#0 0x00007fff854e0e42 in __semwait_signal ()
No symbol table info available.
#1 0x00007fff8ababdea in nanosleep ()
No symbol table info available.
#2 0x00007fff8ababc2c in sleep ()
No symbol table info available.
#3 0x00000001062ffec3 in main (argc=1, argv=0x7fff65efeab8)
at main.c:36
       threadID_one = (pthread_t) 0×1063b4000
       threadID_two = (pthread_t) 0×106581000
(gdb) thread 2
[Switching to thread 2 (core thread 1)]
0x00000001062ffe1e in thread_one (arg=0x0)
at main.c:16
16      *p = 1;

(gdb) p/x p
$1 = 0×0
(gdb) thread 3
[Switching to thread 3 (core thread 2)]
0x00000001062ffe4e in thread_two (arg=0x0)
at main.c:24
24      *p = 2;

(gdb) p/x p
$2 = 0×0
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset