首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Eclipse (远程)调试器与spawn-fcgi (或类似的进程启动器)一起使用

如何将Eclipse (远程)调试器与spawn-fcgi (或类似的进程启动器)一起使用
EN

Stack Overflow用户
提问于 2016-11-06 02:07:00
回答 1查看 236关注 0票数 1

我可以用Eclipse成功地(交叉)编译和(远程)调试C应用程序。但我有一堆fcgi应用程序,它们只有在使用spawn-fcgi启动时才能工作(因为它们需要以这种方式连接到已经在运行的nginx web服务器),例如:

代码语言:javascript
复制
sudo -u www-data /usr/bin/spawn-fcgi -s/tmp/fcgiApp.socket -n /var/www/fcgiApp/fcgiApp.bin

有没有办法指示Eclipse GDB将最新的二进制文件复制到服务器,然后以上面概述的特殊方式启动应用程序,最后附加到衍生的fcgi进程?

请注意,我已经将"cross“和"remote”放在括号中,因为我认为如果在同一本地计算机上运行Eclipse和put服务器,实际问题(调试衍生的进程)仍然存在。

EN

回答 1

Stack Overflow用户

发布于 2016-11-06 05:07:45

我自己找到了一个答案,更确切地说是fcgi特定问题的解决方法:

可以在应用程序本身中创建所需的套接字连接,如下面的代码片段所示:

代码语言:javascript
复制
#if STANDALONE
    int sockfd = FCGX_OpenSocket("/tmp/fcgiTest.socket", 1024);
    char command[] = "chmod ag+rwx /tmp/fcgiTest.socket";
    system( command );
#endif
    FCGX_Request request;
    FCGX_Init();

#if STANDALONE
    FCGX_InitRequest(&request, sockfd, 0);
#else
    FCGX_InitRequest(&request, 0, 0);
#endif

因此,对于可用于调试(使用#define STANDALONE 1)的独立应用程序,套接字是以普通用户身份创建的,然后出于调试目的,将写访问权限授予每个人,特别是www-data,即web服务器。

对于部署,您将使用#define STANDALONE 0,并像往常一样使用spawn-fcgi以www-data用户身份启动进程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40441547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档