Debugging Question:
Download Questions PDF

What is the output of this program no 8?
#include<stdio.h>
#include<pthread.h>

void *fun_t(void *arg);
void *fun_t(void *arg)
{
sleep(1);
}
int main()
{
pthread_t pt;
void *res_t;
if(pthread_create(&pt,NULL,fun_t,NULL) != 0)
perror("pthread_create");
if(pthread_join(pt,&res_t) != 0)
perror("pthread_join");
printf("%sn",res_t);
return 0;
}
a) this process will pause
b) segmentation fault
c) run time error
d) none of the mentioned

Answer:

b) segmentation fault
Explanation:
This program is trying to print the return value of the thread, but pthread_exit() function is not present in the thread.
Output:
[root@localhost google]# gcc -o san san.c -lpthread
[root@localhost google]# ./san
Segmentation fault (core dumped)
[root@localhost google]#

Download Linux Debugging Interview Questions And Answers PDF

Previous QuestionNext Question
What is the output of this program no 7?
#include<stdio.h>
#include<pthread.h>
#include<fcntl.h>

void *fun_t(void *arg);
void *fun_t(void *arg)
{
pthread_exit("Bye");
printf("googlen");
}
int main()
{
pthread_t pt;
void *res_t;
if(pthread_create(&pt,NULL,fun_t,NULL) != 0)
perror("pthread_create");
if(pthread_join(pt,&res_t) != 0)
perror("pthread_join");
printf("%sn",res_t);
return 0;
}
a) google
b) Bye
c) segementation fault
d) run time error
For debugging with GDB, the file "google" can be created with the command:
a) gcc -g -o google google.c
b) gcc -g google.c
c) gdb google
d) none of the mentioned