CGI程序在调试模式下运行
CGI program run in debug mode
我们有一个c++ CGI应用程序来处理一些web请求。我试图在调试模式下运行相同的分析目的。我采用的方法是用gdb:
调用它。作为第一步-我重命名我的实际CGI应用程序,并放置我自己的程序同名
在该程序中,我试图使用GDB在调试模式下调用实际的CCGI应用程序:
const char* argv[] = ["gdb -p <pid> -batch -ex bt 2>/dev/null", NULL];
execve("./myprog", (char**)argv, NULL);
问题是,因为myrog是一个CGI应用程序,它从STDIN输入。
我如何在程序中捕获输入并将其传递给实际的CGI应用程序?
我这样做了:在cgi主我添加了代码来寻找一个现有的文件,如/var/tmp/flag。虽然存在,我运行在一个循环。有足够的时间通过gdb附加到cgi进程。之后,我删除/var/tmp/flag,从现在开始我可以调试我的cgi代码。
bool file_exists(const char *filename)
{
ifstream ifile(filename);
return ifile;
}
int cgiMain()
{
while (file_exists ("/var/tmp/flag"))
sleep (1);
...
your code
相关文章:
- 可视化C++:发布模式的运行时库作为'Multi-threaded Debug DLL'
- 如何检测窗口当前是否正在运行模式对话框?
- 在调试模式下,所有程序都运行良好,但在发布模式下,我在cudaMalloc操作中出错
- 多线程程序卡在优化模式下,但在 -O0 中正常运行
- 如何在调试模式下通过终端运行可执行的 c++?
- 我在发布模式下运行时收到"Access violation reading location"错误 - C++
- C++单例模式代码无法运行,不知道为什么?
- 在CLION中调试模式和运行模式之间的怪异结果
- 如何创建一个新过程,而没有从管理模式运行的MFC应用程序中的管理特权
- 如何在单线模式下强制ROS运行
- 一般来说,使用Qt Creator,是什么导致程序在调试模式下编译时正确运行,但在发布模式下崩溃
- 在Visual Studio C 调试模式中捕获异常的最佳方法仅在从IDE运行时才会发生
- 64位VC 程序似乎在32位模式下运行
- 在非调试模式下运行代码时出现问题
- C++Win32 在低优先级模式下运行应用程序/线程
- GCC 在调试模式下崩溃,在发布模式下运行良好
- 如何在运行时配置访问者模式
- 运行时的策略模式
- qmake-run命令仅在调试模式下运行
- 当我的应用程序无法在调试模式下运行,但 exe 文件可以完美运行时,这意味着什么?