我们在Unix中有我们的代码和二进制文件,很少的二进制文件是用于CGI加载的web软件包的。我在远程调试模式下使用gdb调试普通二进制文件,但是web二进制文件很难调试,因为每当二进制加载和gdb分离进程id变化。我听到在Visual Studio中有一个选项添加到任务管理器和调试它。但我很害怕,如果我安装Visual Studio我的系统会变慢。任何建议可用于任何其他开源工具,可用于高效远程调试Web二进制文件高效的开源调试Unix中的CGI二进制文件
1
A
回答
0
您可以做的最好的事情是对代码进行efactor,以便您可以使用某些单元测试系统或类似的东西来测试CGI上下文的大部分内容。
第二步是手动重放CGI通信。这并不复杂 - 设置所需的环境变量,并在gdb下运行时事务性地管理POST数据。
如果这样做不能帮助您调试Web服务器并要求您的调试器遵循子进程。最好的办法是使用-X
选项来启动httpd,这样它就可以运行一个进程本身。然后附加gdb并设置set follow-fork-mode child
命令。请参阅gdb手册http://sourceware.org/gdb/onlinedocs/gdb/Forks.html
相关问题
- 1. 在GCC调试二进制文件中的源代码位置
- 2. eclipse:无需二进制文件调试
- 3. MySQL:高效的二进制值比较
- 4. 高效的二进制流媒体
- 5. iTunes Connect:无效的二进制文件
- 6. 在windbg中调试“release-mode”二进制文件/转储文件
- 7. 对开源项目的二进制文件签名
- 8. 有没有开源的二进制文件有区别?
- 9. 匹配源在Visual Studio开发的二进制文件
- 10. 打开二进制文件的模式
- 11. 无法打开的二进制文件
- 12. 重定向unix中的二进制文件
- 13. 在C中打开二进制文件
- 14. AutoMake - 在多个二进制文件中使用的源文件
- 15. Unix中的二进制替换范围
- 16. 需要帮助调试哪些更新的二进制文件
- 17. 将System.IO.MemoryStream刷新为来自调试器的二进制文件
- 18. Xamarin Project中的ItunesConnect中的无效二进制文件
- 19. 静态链接二进制文件中缺少调试符号
- 20. 在VC++中调试发布模式二进制文件
- 21. .txt文件的二进制FTP传输 - 从Unix到Windows
- 22. UNIX-ASCII文件看起来是二进制的
- 23. Lighttpd服务器配置使用快速cgi运行cgi二进制文件
- 24. iTunes中的“无效的二进制文件”
- 25. 在Android NDK中运行Unix二进制文件
- 26. 通过Apache cgi-bin运行二进制文件
- 27. C cgi脚本从sqlite3_column_blob服务二进制文件指针
- 28. Perl cgi脚本使用http接收二进制文件put
- 29. 具有无效签名的无效二进制文件
- 30. iTunes Connect上的无效签名(无效二进制文件)