День добрый всем
как в KDevelop приаттачить отладчик во время отладки родителя к форку??
или какий нить др отладчик так может?
форк начинает выполняться и вываливается по ошибке - поэтому я не успеваю к нему с снаружи приатачиться
проблема:
софтина в один прекрасный момент делает форк а из него execl`ом пытается запустить др программу с аргументами
проблема в том что execl выдаёт ошибку
error: execl(): Bad address
если вместо своей программы я подставлю "/bin/sh" - запускается и не ругается =( т. е. косяк судя по всему с аргументами
код:
{
forkpid = fork();
switch (forkpid)
{
case FAILURE:
perror("error: fork()");
exit(1);
}
case SUCCESS:
{
tmp1.sin_addr.s_addr =param[ii].ext_ip;
tmp2.sin_addr.s_addr =param[ii].int_ip;
tmp3.sin_addr.s_addr =param[ii].server.ip;
strcpy(ip1, inet_ntoa(tmp1.sin_addr));
strcpy(ip2, inet_ntoa(tmp2.sin_addr));
strcpy(ip3, inet_ntoa(tmp3.sin_addr));
//параметры у софтины: softina ip ip ip port port protocol
switch(execl("/usr/sbin/pcktfwdr",
"pcktfwdr",
ip1,
ip2,
ip3,
(char)ntohs(param[ii].server.p),
(char)ntohs(param[ii].ext_p),
param[ii].protocol,
NULL))
{
case FAILURE:
perror("error: execl()"); //вот тут мы по сути и валимся
exit(1);
default:
ret = SUCCESS;
}
default:
{
param[ii].DaemonPid = forkpid;
ret = SUCCESS; //forkpid;
}
}
заранее благодарен за ответы и тем кто прочёл до конца