gpt4 book ai didi

php - 如何使用 exec() 调试从 php 调用的 C++ 代码

转载 作者:太空宇宙 更新时间:2023-11-04 11:34:34 25 4
gpt4 key购买 nike

我正在使用“exec”在我的 php 应用程序中调用一些 C++ 代码,如 in this tutorial. 所述我试图弄清楚如何在执行后调试 C++ 代码。C++ 应用程序启动和结束的速度比我使用例如 eclipse 附加到进程的速度快。一旦使用 exec() 从 php 应用程序调用 c++ 代码,有什么想法可以调试吗?我在使用 eclipse 和 GDB 的 linux 上。

php 应用程序工作流程如下:从 html 表单获取值,将这些值传递给使用 exec() 调用的 c++ 代码,从 c++ 获取输出,然后使用 php 将其显示到 html 上。将其视为 php 是 Controller ,c++ 是模型。

最佳答案

实际上首先取决于您如何使用 php 代码。如果您正在使用 PHP 生成网页,并且在生成 HTML(或其他)的中间执行一些 C++ 代码,那么这有点棘手。如果您使用命令行运行 PHP,您只需将 $command"myprog arg1 arg2 更改为 "gdb --args myprog arg1 arg2" - 这将启动调试器 gdb 而不是仅仅运行“myprog”。

如果你不能调试实际的应用程序(因为“myprog”的输出是你网页的一部分,例如),那么我会简单地运行 $ gdb --args myprog arg1 arg2 在机器上的命令行上,并独立调试代码。

或者,如果您必须将其作为网络应用程序的一部分进行调试,您可以将 sleep(10); 添加到“myprog”的开头,并使用 gdb附加 X 其中 X 是进程 ID(例如来自 topps aux | grep myprog)- 在 sleep 之后设置一个断点(10); 行,然后执行 gdb 命令 continue

关于php - 如何使用 exec() 调试从 php 调用的 C++ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23353116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com