Winapi 如何使Visual Studio 2008在启动时自动附加到服务?
我已经用C语言创建了一个windows服务(使用WinAPI),我希望在从“服务”面板启动服务时,Visual Studio能够自动附加到该服务的进程。 如何才能做到这一点。Winapi 如何使Visual Studio 2008在启动时自动附加到服务?,winapi,visual-studio-2008,service,visual-studio-debugging,Winapi,Visual Studio 2008,Service,Visual Studio Debugging,我已经用C语言创建了一个windows服务(使用WinAPI),我希望在从“服务”面板启动服务时,Visual Studio能够自动附加到该服务的进程。 如何才能做到这一点。 另外,在服务的初始化功能处放置一个MessageBox,然后手动附加,这不是我正在寻找的解决方案。Place\uu asm int3;在代码开头或要附加调试器的位置。我找到了解决方案。只需在注册表中添加以下项: [HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows NT\Cu
另外,在服务的初始化功能处放置一个MessageBox,然后手动附加,这不是我正在寻找的解决方案。
Place\uu asm int3;在代码开头或要附加调试器的位置。
我找到了解决方案。只需在注册表中添加以下项: [HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\u您的\u服务\u EXECUTABLE.exe的\u名称\u] 并添加以下值和数据: “调试器”=“vsjitdebugger.exe” 请注意,在完成测试时必须删除此值,否则每当服务启动时,VisualStudio将提示附加一条消息这在WindowsXPX32下工作。我没有在任何其他方面进行测试。Visual Studio只支持您试图阻止的路由。一种解决方法是编写自己的服务主机,将服务可执行文件和调用加载到其导出中。可以找到包含其他信息的.NET实现。支持的过程为。处理器不支持内联程序集。这可以工作,但需要修改和重新编译代码(完成后再修改int)。虽然它比我说我不想要的“MessageBox”解决方案更优雅,但它仍然不是我真正想要的。有价值的信息,谢谢分享。你有没有文档链接或博客条目?值是什么注册表数据类型?抱歉,我没有任何文档。一个朋友给我看了这个,但他不记得在哪里找到这个信息。类型为REG_SZ。