如何在VS中调试用gcc编译的项目
How to debug project compiled with gcc in VS?
我有用gcc编译的DLL项目(用fortran、C++编写)。我想调试这个DLL,但我必须附加到在Windows上运行的进程(在Visual Studio中编译)。我无法在Visual Studio中将断点插入DLL源。你能帮我一个人吗?
谢谢。
为了在源代码中设置断点,Visual Studio和任何调试器都必须找到一种方法,将源代码行映射到可执行代码中的地址范围。Visual Studio使用PDB格式来创建这种类型的映射。此文件是在Visual Studio中所有语言的生成时生成的。gcc不生成该文件,因此Visual Studio实际上没有办法将文件中的源行映射到生成的可执行中有意义的值
您可以尝试http://www.wingdb.com/
除此之外,最简单的方法是使用VisualStudio重新生成代码,因为您有源代码。您可以在一个月的评估中获得IVF,并使用它来生成DLL和pdb文件。如果它有效,并且你喜欢试管婴儿,请你的老板给你拿一份。
另一种选择是在Linux环境中使用ddd。只需在你的Windows机器上创建一个Linux虚拟机,为Linux重建一切,获得ddd,你就可以离开了。
相关文章:
- 为什么 gcc 编译这个而 msvc 没有
- 错误:使用 clang 没有可行的重载,使用 GCC 编译
- 带有自动参数的函数使用 GCC 编译,但不使用 Visual C++ 编译
- 使用 MINGW gcc 编译时,不会为 std::string 调用重载的新运算符
- Steam 回调在 Linux / GCC 编译期间触发警告
- 在其他容器中使用 boost::container::static_vector 时,GCC 编译错误"将'const s'绑定到类型's&'的引用丢弃限定符"
- 如何使用 GCC 编译指示启用选项 '-Werror'?
- 如何实现使用 gcc-4.4 编译的大向量初始化?
- 关于这个在 Linux 上使用 gcc 编译的程序中的 vtable,nm 告诉我什么?
- 使用 TDM GCC 5.1.0 编译 PDCurses36 时出错
- 为什么这段代码无法使用 gcc 4.8.5 编译,而使用 clang 编译正常
- 使用 std::addressof 时出现 GCC 7 编译错误
- 在类模板上使用 arm gcc 编译期间的隔离错误
- 使用 GCC 编译C++时如何包含 C11 标头?
- 类数据成员指针的非类型模板参数包无法使用 gcc 编译
- 是否可以使用 GCC 编译具有特定编译器标志的代码文件的一部分?
- 将 cctype 函数分配给 std::function,gcc 编译错误
- GCC 编译时出现警告:未知转义序列:"\040"
- 为什么以下代码不使用GCC编译,而是用Clang编译罚款
- GCC编译器,为较低版本的GCC编译应用程序