gpt4 book ai didi

c# - 同时调试非托管应用程序和托管 C# dll

转载 作者:行者123 更新时间:2023-11-30 19:06:54 26 4
gpt4 key购买 nike

我的设置:
Application.exe (Visual Studio 6.0 C++)
Component.dll (Visual Studio 2010 C#)
Application.exe 使用Component.dll

我希望能够同时调试我的 Visual Studio 6.0 C++ 应用程序和它使用的 Visual Studio 2010 C# 组件,但我不确定这是否可能。

我尝试从 Visual Studio 6.0 启动应用程序并在我的 Visual Studio 2010 组件解决方案中附加到该进程 (Application.exe),但是当我去附加到该进程 ( Application.exe) 它是灰色的。我尝试将 Attach To: 切换为 Native 但这不允许我附加到此进程。我的 Application.exe 在窗口中仍然是灰色的。

是否可以这样做?如果可以,怎么做?

最佳答案

一个进程只能附加一个调试器,这就是选择变灰的原因。 VS6 调试器用处不大,它对托管代码一无所知。你必须从 VS2010 调试它。右键单击您的 C# 项目、属性、调试。选择“启动外部程序”并选择您的 C++ .exe。勾选“启用非托管代码调试选项”。

在 C# 代码中设置断点,然后按 F5 启动 .exe。一旦 C++ 代码加载您的 DLL,断点指示器将变为常亮。尽管您使用的是上个世纪的 .pdb,但也可以调试 C++ 代码。您不能从托管代码单步执行到 C++ 代码,您必须设置断点。

关于c# - 同时调试非托管应用程序和托管 C# dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8070040/

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