dbx: предупреждение: переход к функции с информацией srcline
Я получаю некоторые проблемы при следовании за дочерним процессом в dbx в огромном устаревшем C-коде. Я представляю ниже исследуемую часть кода:
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main()
{
if(fork()) exit(0);
return 0;
}
когда я запускаю dbx в Solaris 10, я получаю следующий вывод:
Running: a.out
(process id 28193)
stopped in main at line 5 in file "a.c"
5 if(fork()) exit(0);
(dbx) next
dbx: detected a fork(). Do you want to follow parent, child or stop to investigate?
> child
Following child ...
detaching from process 28193
Attached to process 28197
stopped in __fork1 at 0xfeefc6b7
0xfeefc6b7: __fork1+0x0007: jb __cerror [ 0xfee70a40, .-0x8bc77 ]
Current function is main
5 if(fork()) exit(0);
dbx: warning: stepping up to a function with srcline info
Почему я получаю это предупреждение dbx: warning: stepping up to a function with srcline info
?
Может кто-нибудь помочь мне над этим? Я застрял в этой точке.
1 ответ
Функция, которую dbx пытается отследить, это __fork1(), которая предоставляется вам libc. Oracle не поставляет libc, созданный с -g, который вам нужен для того, чтобы иметь информацию об исходных строках в отладчике.