是的,我知道,我知道,有很多类似的问题,但那里的答案并不适合我。我的设置可能会有点复杂。该解决方案有两个项目(均使用.NET 4.5.2):
该服务在运行时有一个未处理的访问冲突崩溃,而不是在我的代码中,而是在深入SDK的某个地方回调我的代码。事件查看器告诉我它在ntdll.dll
,但仅此而已。
有多种方法可以调试,但我发现最方便的是将服务作为一个独立的控制台应用程序启动,并在System::Diagnostics::Debugger::Launch()
中调用Main()
。这允许我将它附加到VS调试器。 正好可以运行。
我现在启动主应用程序并转到崩溃发生的部分。无论我是在第二个VS调试器下启动它还是直接从UI运行(Windows提供在第二种情况下选择调试器),下一个对话框将是通常的错误消息(参见标题)。但是:
因此导致导致此错误的常见问题得以解决。还有什么可能导致我无法调试此服务?
答案 0 :(得分:0)
我想我已经钉了它。 System::Diagnostics::Debugger::Launch()
不能在这种情况下使用。唯一的方法是使用 Debug>附加到进程并仔细设置所有代码类型。我知道我早些尝试过,但其他一些设置可能还没有到位。所以,除了上面的所有之外,只使用这种附加调试器的形式,没有别的。