1

我们的代码和二进制文件在 Unix 盒子里。很少有二进制文件用于 CGI 加载的 web 包。我在远程调试模式下使用 gdb 来调试普通二进制文件,但 web 二进制文件很难调试,因为每次二进制文件都会更改进程 ID加载和gdb分离。我听说在Visual Studio中有一个添加任务管理器和调试它的选项。但我担心如果我安装Visual Studio我的系统会变慢。任何其他可用于有效远程调试的开源工具的建议网络二进制文件

4

1 回答 1

0

你能做的最好的事情是对代码进行重构,这样你就可以在 CGI 上下文之外使用一些单元测试系统或类似的东西来测试它的大部分内容。

第二步是手动重放 CGI 通信。这并不复杂 - 设置所需的环境变量并最终在 gdb 下运行时通过管道将 POST 数据输入。

如果这对您没有帮助,您必须调试 Web 服务器并要求您的调试器跟踪子进程。最好的办法是使用该-X选项启动 httpd,以便它使用单个进程本身运行。然后附加gdb并设置set follow-fork-mode child命令。请参阅http://sourceware.org/gdb/onlinedocs/gdb/Forks.html上的 gdb 手册

于 2013-01-13T19:59:47.967 回答