2012-05-15 33 views
1

我们在Unix中有我们的代码和二进制文件,很少的二进制文件是用于CGI加载的web软件包的。我在远程调试模式下使用gdb调试普通二进制文件,但是web二进制文件很难调试,因为每当二进制加载和gdb分离进程id变化。我听到在Visual Studio中有一个选项添加到任务管理器和调试它。但我很害怕,如果我安装Visual Studio我的系统会变慢。任何建议可用于任何其他开源工具,可用于高效远程调试Web二进制文件高效的开源调试Unix中的CGI二进制文件

回答

0

您可以做的最好的事情是对代码进行efactor,以便您可以使用某些单元测试系统或类似的东西来测试CGI上下文的大部分内容。

第二步是手动重放CGI通信。这并不复杂 - 设置所需的环境变量,并在gdb下运行时事务性地管理POST数据。

如果这样做不能帮助您调试Web服务器并要求您的调试器遵循子进程。最好的办法是使用-X选项来启动httpd,这样它就可以运行一个进程本身。然后附加gdb并设置set follow-fork-mode child命令。请参阅gdb手册http://sourceware.org/gdb/onlinedocs/gdb/Forks.html

相关问题