代码之家  ›  专栏  ›  技术社区  ›  suszterpatt

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

  •  0
  • suszterpatt  · 技术社区  · 17 年前

    我使用VS2K8编写和编译(但不运行)一个使用VistaX64上MPICH2库的程序。然后我用 mpiexec 从命令行启动程序(只有1个进程用于调试),我想附加gdb到它。简单使用 attach gdb --pid=### 不起作用(我得到错误信息 Can't attach to process ,可能是因为vs不使用正确的调试信息编译代码。另一方面,尽管有好几个Google会话,但我还没有找到vs用来编译的实际命令行,所以我不能只是进去编辑它。

    请注意,我使用vs的唯一原因是,在尝试从命令行编译时,我无法让g++找到MPI库,而vs只需要点击几下就可以使所有的东西都工作。(是的,我试过 -I -l 开关,但无效)

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

    2 回复  |  直到 17 年前
        1
  •  2
  •   marshall_law    17 年前

    不幸的是,cl.exe(Visual Studio)和gdb的二进制格式不兼容。您将无法使用gdb进行调试,除非您能够找到用gcc重建代码的方法。同时,通过转到“工具”>“附加到进程”(或按ctrl+alt+p),可以直接使用Visual Studio调试程序。

        2
  •  2
  •   Nemanja Trifunovic    17 年前

    gdb不起作用,但你可以使用 Gflags 使程序在启动时从调试器(vs,windbg,…)运行。还有一个注册表选项可以直接执行该操作:hklm\software\microsoft\windows nt\currentversion\image file execution options\imagefilename\debugger

    推荐文章