我有一个在 Visual Studio 中调试的现有 C 应用程序,并且我想访问其中的某些库函数。当我将库从 c++/cli 源代码编译为 .lib 时,我可以在有或没有 clr 支持(/clr
标志)的情况下编译它。
如果我使用 clr 支持编译库,并将其与应用程序的其余部分链接,则调试器将无法再停在使用 clr 支持编译的库中不存在的特定代码行处。
如果我在没有 clr 支持的情况下编译库并链接到那个库,则调试器一切正常。
我们需要在 clr 支持下编译这个库,并且我不想失去调试程序其余部分的能力。谁能告诉我为什么在链接到/clr 编译库而不是另一个库时我会失去调试能力?谁知道如何正确编译/链接以便我可以保持调试能力?
最佳答案
由于新的可执行文件包含 native 代码和托管代码的混合,因此您必须为其附加两种类型的调试器。在“调试”->“附加到进程...”中,我选择了要附加的进程以及调试器的类型s。在本例中,是托管 (v 4.0) 和 native 。
更详细地回答here .
关于c - 使用/clr 支持编译的 C++-CLI 库调试 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10217225/