VS2015 中的 CoreCLR 控制台应用程序项目中没有本机代码调试?
No native code debugging in CoreCLR console application projects in VS2015?
真想跳遍CoreCLR。新的项目结构、nuget 合并到构建系统、文件系统报告更改时解决方案的自动刷新以及多个平台的目标只是我想从旧的 csproj/.net 继续前进的一些原因4.x 东西。
我的一个主要用例是使用 C# 探索多平台游戏引擎设计,但是特定平台涉及一些互操作(在我的例子中隐藏在 SharpDX 中)- 来自 DirectX 非托管端的调试消息冒泡如果您在项目的调试选项中 "enable native code debugging",则从本机代码转换为托管代码。 CoreCLR 项目虽然在项目的调试设置中没有该选项,这意味着没有有用的调试消息,这意味着调试 DirectX 调用是噩梦。
我希望能对这方面的进展有所了解。
当 运行 来自 VS 时,该工具不支持本机调试。但是,如果您手动将调试器附加到进程,select native 和 CoreClr(选项在 Debug -> Attach to Process 中),您将实现您想要的。
如果您使用 dnx
那么您可以在应用程序启动时传递 --debug
标志,类似于:
dnx --debug . run <args>
并且它将等待附加本机调试器。
PS:警告:如果您通过 --debug
,则您 必须 附加本机调试器。您不能只附加托管的。
真想跳遍CoreCLR。新的项目结构、nuget 合并到构建系统、文件系统报告更改时解决方案的自动刷新以及多个平台的目标只是我想从旧的 csproj/.net 继续前进的一些原因4.x 东西。
我的一个主要用例是使用 C# 探索多平台游戏引擎设计,但是特定平台涉及一些互操作(在我的例子中隐藏在 SharpDX 中)- 来自 DirectX 非托管端的调试消息冒泡如果您在项目的调试选项中 "enable native code debugging",则从本机代码转换为托管代码。 CoreCLR 项目虽然在项目的调试设置中没有该选项,这意味着没有有用的调试消息,这意味着调试 DirectX 调用是噩梦。
我希望能对这方面的进展有所了解。
当 运行 来自 VS 时,该工具不支持本机调试。但是,如果您手动将调试器附加到进程,select native 和 CoreClr(选项在 Debug -> Attach to Process 中),您将实现您想要的。
如果您使用 dnx
那么您可以在应用程序启动时传递 --debug
标志,类似于:
dnx --debug . run <args>
并且它将等待附加本机调试器。
PS:警告:如果您通过 --debug
,则您 必须 附加本机调试器。您不能只附加托管的。