c++ - 需要帮助将 gdb 附加到我的项目

标签 c++ gdb mpi

我使用 VS2k8 在 Vista x64 上使用 MPICH2 库编写和编译(但不运行)程序。然后我从命令行使用 mpiexec 来启动程序(只有 1 个进程用于调试),我想将 gdb 附加到它。简单地使用 attachgdb --pid=### 不起作用(我收到错误信息 Can't attach to process),大概是因为 VS 没有使用正确的调试信息编译代码。另一方面,尽管进行了几次谷歌 session ,但我还没有找到 VS 用于编译的实际命令行,所以我不能直接进去编辑它。

请注意,我使用 VS 的唯一原因是因为在尝试从命令行编译时我无法让 g++ 找到 MPI 库,而 VS 只需单击几下即可使一切正常。 (是的,我尝试了 -I-l 开关,但无济于事)

我所需要的只是将 gdb 附加到运行我的 MPI 程序的进程,我真的不在乎它是如何完成的。感谢您的帮助。

最佳答案

很遗憾,cl.exe (Visual Studio) 和 gdb 的二进制格式不兼容。您将无法使用 gdb 进行调试,除非您能想出一种使用 gcc 重建代码的方法。同时,您可以直接使用 Visual Studio 调试您的程序,方法是转到“工具”>“附加到进程”(或按 Ctrl+Alt+P)

关于c++ - 需要帮助将 gdb 附加到我的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1346408/

相关文章:

c++ - 为什么 GNU binutils 和 GDB 合并为一个包?

ios - gdb - 最后一次寄存器值更改的地址?

c++ - Boost::Mpi 是否支持并行IO

c - 关于使用 MPI_Send 的问题

C++ 检查 cin 的有效数据不工作

c++ - 正确签名/检测 Container::reserve() 的存在

c - 局部变量的内存分配浪费

pthreads - MPI+线程。程序停留在 MPI_Ssend 和 MPI_Recv

C++ 链表 : Problem with struct inside class

c++ - 在 C 中将 C 和 C++ 代码与用户定义的 "typename()"函数混合