Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio调试器等待托管代码_C#_.net_Visual Studio_Debugging_Visual Studio 2015 - Fatal编程技术网

C# Visual Studio调试器等待托管代码

C# Visual Studio调试器等待托管代码,c#,.net,visual-studio,debugging,visual-studio-2015,C#,.net,Visual Studio,Debugging,Visual Studio 2015,我正在为本机\非托管应用程序编写C#插件(DLL库)。问题是,当我启动调试器时,应用程序运行并几乎立即退出(可能是因为我的DLL不是在应用程序启动时加载的,而是在以后加载的)。选中“启用本机代码调试”会有所帮助,但会显著降低应用程序的性能,这是不可取的,因为我只想调试我的C#代码。有没有办法在不启用该选项的情况下调试DLL?我正在使用Visual Studio 2015社区。我已经找到了答案。:) 在选项->调试->常规中启用“使用托管兼容性模式”。两个选项,不确定Community Editi

我正在为本机\非托管应用程序编写C#插件(DLL库)。问题是,当我启动调试器时,应用程序运行并几乎立即退出(可能是因为我的DLL不是在应用程序启动时加载的,而是在以后加载的)。选中“启用本机代码调试”会有所帮助,但会显著降低应用程序的性能,这是不可取的,因为我只想调试我的C#代码。有没有办法在不启用该选项的情况下调试DLL?我正在使用Visual Studio 2015社区。

我已经找到了答案。:)
在选项->调试->常规中启用“使用托管兼容性模式”。

两个选项,不确定Community Edition是否同时支持这两个选项。。。首先,设置一个单元测试项目来测试功能。。。第二种选择,编写一个托管测试线束程序,该程序使用您的库并执行功能。您可以从任何一个进行调试。您真正需要调试的是调用库的托管代码中的某个东西。WinDbg with
sxe
使这成为一件轻而易举的事,因为您与VS无关。我在类似情况下使用的另一个选项是在库中临时添加行
Debugger.Launch()
。当点击此行时,应用程序将暂停并触发一个提示,允许您附加调试器。显然,您不希望在生产版本中使用此选项。@pquest更改我的代码不会产生任何影响,因为它根本不会被命中。